486 lines
12 KiB
Plaintext
486 lines
12 KiB
Plaintext
|
/*
|
||
|
* This file is dual-licensed: you can use it either under the terms
|
||
|
* of the GPL or the X11 license, at your option. Note that this dual
|
||
|
* licensing only applies to this file, and not this project as a
|
||
|
* whole.
|
||
|
*
|
||
|
* a) This file is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License as
|
||
|
* published by the Free Software Foundation; either version 2 of the
|
||
|
* License, or (at your option) any later version.
|
||
|
*
|
||
|
* This file is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
* Or, alternatively,
|
||
|
*
|
||
|
* b) Permission is hereby granted, free of charge, to any person
|
||
|
* obtaining a copy of this software and associated documentation
|
||
|
* files (the "Software"), to deal in the Software without
|
||
|
* restriction, including without limitation the rights to use,
|
||
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||
|
* sell copies of the Software, and to permit persons to whom the
|
||
|
* Software is furnished to do so, subject to the following
|
||
|
* conditions:
|
||
|
*
|
||
|
* The above copyright notice and this permission notice shall be
|
||
|
* included in all copies or substantial portions of the Software.
|
||
|
*
|
||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
#include "rk3288-evb.dtsi"
|
||
|
#include "rk3288-android.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "rockchip,rk3288-evb-act8846", "rockchip,rk3288";
|
||
|
|
||
|
backlight: backlight {
|
||
|
compatible = "pwm-backlight";
|
||
|
brightness-levels = <
|
||
|
0 1 2 3 4 5 6 7
|
||
|
8 9 10 11 12 13 14 15
|
||
|
16 17 18 19 20 21 22 23
|
||
|
24 25 26 27 28 29 30 31
|
||
|
32 33 34 35 36 37 38 39
|
||
|
40 41 42 43 44 45 46 47
|
||
|
48 49 50 51 52 53 54 55
|
||
|
56 57 58 59 60 61 62 63
|
||
|
64 65 66 67 68 69 70 71
|
||
|
72 73 74 75 76 77 78 79
|
||
|
80 81 82 83 84 85 86 87
|
||
|
88 89 90 91 92 93 94 95
|
||
|
96 97 98 99 100 101 102 103
|
||
|
104 105 106 107 108 109 110 111
|
||
|
112 113 114 115 116 117 118 119
|
||
|
120 121 122 123 124 125 126 127
|
||
|
128 129 130 131 132 133 134 135
|
||
|
136 137 138 139 140 141 142 143
|
||
|
144 145 146 147 148 149 150 151
|
||
|
152 153 154 155 156 157 158 159
|
||
|
160 161 162 163 164 165 166 167
|
||
|
168 169 170 171 172 173 174 175
|
||
|
176 177 178 179 180 181 182 183
|
||
|
184 185 186 187 188 189 190 191
|
||
|
192 193 194 195 196 197 198 199
|
||
|
200 201 202 203 204 205 206 207
|
||
|
208 209 210 211 212 213 214 215
|
||
|
216 217 218 219 220 221 222 223
|
||
|
224 225 226 227 228 229 230 231
|
||
|
232 233 234 235 236 237 238 239
|
||
|
240 241 242 243 244 245 246 247
|
||
|
248 249 250 251 252 253 254 255>;
|
||
|
default-brightness-level = <128>;
|
||
|
enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&bl_en>;
|
||
|
pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
|
||
|
};
|
||
|
|
||
|
sdio_pwrseq: sdio-pwrseq {
|
||
|
compatible = "mmc-pwrseq-simple";
|
||
|
clocks = <&hym8563>;
|
||
|
clock-names = "ext_clock";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&wifi_enable_h>;
|
||
|
|
||
|
/*
|
||
|
* On the module itself this is one of these (depending
|
||
|
* on the actual card populated):
|
||
|
* - SDIO_RESET_L_WL_REG_ON
|
||
|
* - PDN (power down when low)
|
||
|
*/
|
||
|
reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
|
||
|
vcc_lcd: vcc-lcd {
|
||
|
compatible = "regulator-fixed";
|
||
|
enable-active-high;
|
||
|
gpio = <&gpio7 3 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&lcd_en>;
|
||
|
regulator-name = "vcc_lcd";
|
||
|
vin-supply = <&vcc_io>;
|
||
|
};
|
||
|
|
||
|
vcc_wl: vcc-wl {
|
||
|
compatible = "regulator-fixed";
|
||
|
enable-active-high;
|
||
|
gpio = <&gpio7 9 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&wifi_pwr>;
|
||
|
regulator-name = "vcc_wl";
|
||
|
vin-supply = <&vcc_18>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&cif_isp0 {
|
||
|
rockchip,camera-modules-attached = <&camera0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
&cpu0 {
|
||
|
cpu-supply = <&vdd_cpu>;
|
||
|
};
|
||
|
|
||
|
&dfi {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&dmc {
|
||
|
center-supply = <&vdd_log>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&edp {
|
||
|
vcc-supply = <&vdd10_lcd>;
|
||
|
vccio-supply = <&vcc18_lcd>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&edp_panel {
|
||
|
compatible ="lg,lp079qx1-sp0v", "simple-panel";
|
||
|
backlight = <&backlight>;
|
||
|
enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
|
||
|
enable-delay-ms = <120>;
|
||
|
pinctrl-0 = <&lcd_cs>;
|
||
|
power-supply = <&vcc_lcd>;
|
||
|
status = "okay";
|
||
|
|
||
|
disp_timings: display-timings {
|
||
|
native-mode = <&timing0>;
|
||
|
|
||
|
timing0: timing0 {
|
||
|
clock-frequency = <200000000>;
|
||
|
hactive = <1536>;
|
||
|
vactive = <2048>;
|
||
|
hfront-porch = <12>;
|
||
|
hsync-len = <16>;
|
||
|
hback-porch = <48>;
|
||
|
vfront-porch = <8>;
|
||
|
vsync-len = <4>;
|
||
|
vback-porch = <8>;
|
||
|
hsync-active = <0>;
|
||
|
vsync-active = <0>;
|
||
|
de-active = <0>;
|
||
|
pixelclk-active = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&gpu {
|
||
|
status = "okay";
|
||
|
mali-supply = <&vdd_gpu>;
|
||
|
};
|
||
|
|
||
|
&i2c0 {
|
||
|
clock-frequency = <400000>;
|
||
|
|
||
|
vdd_cpu: syr827@40 {
|
||
|
compatible = "silergy,syr827";
|
||
|
fcs,suspend-voltage-selector = <1>;
|
||
|
reg = <0x40>;
|
||
|
regulator-name = "vdd_cpu";
|
||
|
regulator-min-microvolt = <850000>;
|
||
|
regulator-max-microvolt = <1350000>;
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
regulator-enable-ramp-delay = <300>;
|
||
|
regulator-ramp-delay = <8000>;
|
||
|
vin-supply = <&vcc_sys>;
|
||
|
regulator-state-mem {
|
||
|
regulator-off-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vdd_gpu: syr828@41 {
|
||
|
compatible = "silergy,syr828";
|
||
|
fcs,suspend-voltage-selector = <1>;
|
||
|
reg = <0x41>;
|
||
|
regulator-name = "vdd_gpu";
|
||
|
regulator-min-microvolt = <850000>;
|
||
|
regulator-max-microvolt = <1350000>;
|
||
|
regulator-always-on;
|
||
|
regulator-ramp-delay = <6000>;
|
||
|
vin-supply = <&vcc_sys>;
|
||
|
regulator-state-mem {
|
||
|
regulator-off-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hym8563: hym8563@51 {
|
||
|
compatible = "haoyu,hym8563";
|
||
|
reg = <0x51>;
|
||
|
|
||
|
interrupt-parent = <&gpio0>;
|
||
|
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pmic_int>;
|
||
|
|
||
|
#clock-cells = <0>;
|
||
|
clock-output-names = "xin32k";
|
||
|
};
|
||
|
|
||
|
act8846: act8846@5a {
|
||
|
compatible = "active-semi,act8846";
|
||
|
reg = <0x5a>;
|
||
|
status = "okay";
|
||
|
|
||
|
vp1-supply = <&vcc_sys>;
|
||
|
vp2-supply = <&vcc_sys>;
|
||
|
vp3-supply = <&vcc_sys>;
|
||
|
vp4-supply = <&vcc_sys>;
|
||
|
inl1-supply = <&vcc_io>;
|
||
|
inl2-supply = <&vcc_sys>;
|
||
|
inl3-supply = <&vcc_20>;
|
||
|
|
||
|
regulators {
|
||
|
vcc_ddr: REG1 {
|
||
|
regulator-name = "VCC_DDR";
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcc_io: REG2 {
|
||
|
regulator-name = "VCC_IO";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd_log: REG3 {
|
||
|
regulator-name = "VDD_LOG";
|
||
|
regulator-min-microvolt = <1150000>;
|
||
|
regulator-max-microvolt = <1150000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcc_20: REG4 {
|
||
|
regulator-name = "VCC_20";
|
||
|
regulator-min-microvolt = <2000000>;
|
||
|
regulator-max-microvolt = <2000000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vccio_sd: REG5 {
|
||
|
regulator-name = "VCCIO_SD";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd10_lcd: REG6 {
|
||
|
regulator-name = "VDD10_LCD";
|
||
|
regulator-min-microvolt = <1000000>;
|
||
|
regulator-max-microvolt = <1000000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcca_codec: REG7 {
|
||
|
regulator-name = "VCCA_CODEC";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcca_tp: REG8 {
|
||
|
regulator-name = "VCCA_TP";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vccio_pmu: REG9 {
|
||
|
regulator-name = "VCCIO_PMU";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vdd_10: REG10 {
|
||
|
regulator-name = "VDD_10";
|
||
|
regulator-min-microvolt = <1000000>;
|
||
|
regulator-max-microvolt = <1000000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcc_18: REG11 {
|
||
|
regulator-name = "VCC_18";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vcc18_lcd: REG12 {
|
||
|
regulator-name = "VCC18_LCD";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c1 {
|
||
|
status = "okay";
|
||
|
clock-frequency = <400000>;
|
||
|
|
||
|
mpu6050@68 {
|
||
|
compatible = "invensense,mpu6050";
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&mpu6050_irq_gpio>;
|
||
|
reg = <0x68>;
|
||
|
irq-gpio = <&gpio8 0 IRQ_TYPE_EDGE_RISING>;
|
||
|
mpu-int_config = <0x10>;
|
||
|
mpu-level_shifter = <0>;
|
||
|
mpu-orientation = <0 1 0 1 0 0 0 0 1>;
|
||
|
orientation-x= <0>;
|
||
|
orientation-y= <1>;
|
||
|
orientation-z= <0>;
|
||
|
support-hw-poweroff = <1>;
|
||
|
mpu-debug = <1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c3 {
|
||
|
status = "okay";
|
||
|
|
||
|
camera0: camera-module@10 {
|
||
|
status = "disabled";
|
||
|
|
||
|
compatible = "omnivision,ov8858-v4l2-i2c-subdev";
|
||
|
reg = <0x10>;
|
||
|
device_type = "v4l2-i2c-subdev";
|
||
|
|
||
|
clocks = <&cru SCLK_VIP_OUT>;
|
||
|
clock-names = "clk_cif_out";
|
||
|
|
||
|
pinctrl-names = "rockchip,camera_default",
|
||
|
"rockchip,camera_sleep";
|
||
|
pinctrl-0 = <&cam0_default_pins>;
|
||
|
pinctrl-1 = <&cam0_sleep_pins>;
|
||
|
|
||
|
rockchip,pd-gpio = <&gpio2 15 GPIO_ACTIVE_LOW>;
|
||
|
rockchip,pwr-gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
rockchip,camera-module-mclk-name = "clk_cif_out";
|
||
|
rockchip,camera-module-dovdd = "1.8v";
|
||
|
rockchip,camera-module-facing = "back";
|
||
|
rockchip,camera-module-name = "cmk-cb0695-fv1";
|
||
|
rockchip,camera-module-len-name = "lg9569a2";
|
||
|
rockchip,camera-module-fov-h = "66.0";
|
||
|
rockchip,camera-module-fov-v = "50.1";
|
||
|
rockchip,camera-module-orientation = <0>;
|
||
|
rockchip,camera-module-iq-flip = <0>;
|
||
|
rockchip,camera-module-iq-mirror = <0>;
|
||
|
rockchip,camera-module-flip = <0>;
|
||
|
rockchip,camera-module-mirror = <0>;
|
||
|
|
||
|
/* resolution.w, resolution.h, defrect.left, defrect.top, defrect.w, defrect.h */
|
||
|
rockchip,camera-module-defrect0 = <3264 2448 0 0 3264 2448>;
|
||
|
rockchip,camera-module-flash-support = <0>;
|
||
|
rockchip,camera-module-mipi-dphy-index = <0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c4 {
|
||
|
status = "okay";
|
||
|
|
||
|
ts@01 {
|
||
|
compatible = "ct,vtl_ts";
|
||
|
reg = <0x01>;
|
||
|
screen_max_x = <1536>;
|
||
|
screen_max_y = <2048>;
|
||
|
xy_swap = <1>;
|
||
|
x_reverse = <0>;
|
||
|
y_reverse = <0>;
|
||
|
x_mul = <2>;
|
||
|
y_mul = <2>;
|
||
|
bin_ver = <0>;
|
||
|
irq_gpio_number = <&gpio7 6 IRQ_TYPE_LEVEL_LOW>;
|
||
|
rst_gpio_number = <&gpio7 5 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&lvds_panel {
|
||
|
power-supply = <&vcc_lcd>;
|
||
|
};
|
||
|
|
||
|
&rga {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&rockchip_suspend {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&route_edp {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&sound {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pinctrl {
|
||
|
backlight {
|
||
|
bl_en: bl-en {
|
||
|
rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
buttons {
|
||
|
pwrbtn: pwrbtn {
|
||
|
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
cam_pins {
|
||
|
cam0_default_pins: cam0-default-pins {
|
||
|
rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>,
|
||
|
<2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>,
|
||
|
<2 RK_PB3 1 &pcfg_pull_none>;
|
||
|
};
|
||
|
cam0_sleep_pins: cam0-sleep-pins {
|
||
|
rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>,
|
||
|
<2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>,
|
||
|
<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
lcd {
|
||
|
lcd_en: lcd-en {
|
||
|
rockchip,pins = <7 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
wifi {
|
||
|
wifi_pwr: wifi-pwr {
|
||
|
rockchip,pins = <7 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mpu6050 {
|
||
|
mpu6050_irq_gpio: mpu6050-irq-gpio {
|
||
|
rockchip,pins = <8 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
};
|
||
|
};
|
||
|
};
|