1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2018 MundoReader S.L. 3 * Copyright (c) 2018 MundoReader S.L. 4 * Author: Heiko Stuebner <heiko.stuebner@bq.c 4 * Author: Heiko Stuebner <heiko.stuebner@bq.com> 5 */ 5 */ 6 6 7 /dts-v1/; 7 /dts-v1/; 8 #include <dt-bindings/i2c/i2c.h> 8 #include <dt-bindings/i2c/i2c.h> 9 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include "rk3188.dtsi" 11 #include "rk3188.dtsi" 12 12 13 / { 13 / { 14 model = "BQ Edison2 Quad-Core"; 14 model = "BQ Edison2 Quad-Core"; 15 compatible = "mundoreader,bq-edison2qc 15 compatible = "mundoreader,bq-edison2qc", "rockchip,rk3188"; 16 16 17 aliases { 17 aliases { 18 mmc0 = &mmc0; 18 mmc0 = &mmc0; 19 mmc1 = &mmc1; 19 mmc1 = &mmc1; 20 mmc2 = &emmc; 20 mmc2 = &emmc; 21 }; 21 }; 22 22 23 memory@60000000 { 23 memory@60000000 { 24 device_type = "memory"; 24 device_type = "memory"; 25 reg = <0x60000000 0x80000000>; 25 reg = <0x60000000 0x80000000>; 26 }; 26 }; 27 27 28 backlight: backlight { 28 backlight: backlight { 29 compatible = "pwm-backlight"; 29 compatible = "pwm-backlight"; 30 power-supply = <&vsys>; 30 power-supply = <&vsys>; 31 pwms = <&pwm1 0 25000>; 31 pwms = <&pwm1 0 25000>; 32 }; 32 }; 33 33 34 gpio-keys { 34 gpio-keys { 35 compatible = "gpio-keys"; 35 compatible = "gpio-keys"; 36 autorepeat; 36 autorepeat; 37 pinctrl-names = "default"; 37 pinctrl-names = "default"; 38 pinctrl-0 = <&pwr_key &usb_int 38 pinctrl-0 = <&pwr_key &usb_int>; 39 39 40 key-power { 40 key-power { 41 gpios = <&gpio0 RK_PA4 41 gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 42 linux,code = <KEY_POWE 42 linux,code = <KEY_POWER>; 43 label = "GPIO Key Powe 43 label = "GPIO Key Power"; 44 linux,input-type = <1> 44 linux,input-type = <1>; 45 debounce-interval = <1 45 debounce-interval = <100>; 46 wakeup-source; 46 wakeup-source; 47 }; 47 }; 48 48 49 wake_on_usb: key-wake-on-usb { 49 wake_on_usb: key-wake-on-usb { 50 label = "Wake-on-USB"; 50 label = "Wake-on-USB"; 51 gpios = <&gpio0 RK_PA7 51 gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 52 linux,code = <KEY_WAKE 52 linux,code = <KEY_WAKEUP>; 53 wakeup-source; 53 wakeup-source; 54 }; 54 }; 55 }; 55 }; 56 56 57 gpio-poweroff { 57 gpio-poweroff { 58 compatible = "gpio-poweroff"; 58 compatible = "gpio-poweroff"; 59 gpios = <&gpio0 RK_PA0 GPIO_AC 59 gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; 60 pinctrl-names = "default"; 60 pinctrl-names = "default"; 61 pinctrl-0 = <&pwr_hold>; 61 pinctrl-0 = <&pwr_hold>; 62 /* only drive the pin low unti 62 /* only drive the pin low until device is off */ 63 active-delay-ms = <3000>; 63 active-delay-ms = <3000>; 64 }; 64 }; 65 65 66 lvds-encoder { 66 lvds-encoder { 67 compatible = "ti,sn75lvds83", 67 compatible = "ti,sn75lvds83", "lvds-encoder"; 68 68 69 ports { 69 ports { 70 #address-cells = <1>; 70 #address-cells = <1>; 71 #size-cells = <0>; 71 #size-cells = <0>; 72 72 73 port@0 { 73 port@0 { 74 reg = <0>; 74 reg = <0>; 75 75 76 lvds_in_vop0: 76 lvds_in_vop0: endpoint { 77 remote 77 remote-endpoint = <&vop0_out_lvds>; 78 }; 78 }; 79 }; 79 }; 80 80 81 port@1 { 81 port@1 { 82 reg = <1>; 82 reg = <1>; 83 83 84 lvds_out_panel 84 lvds_out_panel: endpoint { 85 remote 85 remote-endpoint = <&panel_in_lvds>; 86 }; 86 }; 87 }; 87 }; 88 }; 88 }; 89 }; 89 }; 90 90 91 panel { 91 panel { 92 compatible = "innolux,ee101ia- 92 compatible = "innolux,ee101ia-01d", "panel-lvds"; 93 backlight = <&backlight>; 93 backlight = <&backlight>; 94 94 95 /* pin LCD_CS, Nshtdn input of 95 /* pin LCD_CS, Nshtdn input of lvds-encoder */ 96 enable-gpios = <&gpio3 RK_PD6 96 enable-gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 97 pinctrl-names = "default"; 97 pinctrl-names = "default"; 98 pinctrl-0 = <&lcd_cs>; 98 pinctrl-0 = <&lcd_cs>; 99 power-supply = <&vcc_lcd>; 99 power-supply = <&vcc_lcd>; 100 100 101 data-mapping = "vesa-24"; 101 data-mapping = "vesa-24"; 102 height-mm = <163>; 102 height-mm = <163>; 103 width-mm = <261>; 103 width-mm = <261>; 104 104 105 panel-timing { 105 panel-timing { 106 clock-frequency = <720 106 clock-frequency = <72000000>; 107 hactive = <1280>; 107 hactive = <1280>; 108 vactive = <800>; 108 vactive = <800>; 109 hback-porch = <160>; 109 hback-porch = <160>; 110 hfront-porch = <16>; 110 hfront-porch = <16>; 111 hsync-len = <10>; 111 hsync-len = <10>; 112 vback-porch = <23>; 112 vback-porch = <23>; 113 vfront-porch = <12>; 113 vfront-porch = <12>; 114 vsync-len = <3>; 114 vsync-len = <3>; 115 }; 115 }; 116 116 117 port { 117 port { 118 panel_in_lvds: endpoin 118 panel_in_lvds: endpoint { 119 remote-endpoin 119 remote-endpoint = <&lvds_out_panel>; 120 }; 120 }; 121 }; 121 }; 122 }; 122 }; 123 123 124 sdio_pwrseq: sdio-pwrseq { 124 sdio_pwrseq: sdio-pwrseq { 125 compatible = "mmc-pwrseq-simpl 125 compatible = "mmc-pwrseq-simple"; 126 clocks = <&hym8563>; 126 clocks = <&hym8563>; 127 clock-names = "ext_clock"; 127 clock-names = "ext_clock"; 128 pinctrl-names = "default"; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&wifi_reg_on>; 129 pinctrl-0 = <&wifi_reg_on>; 130 reset-gpios = <&gpio3 RK_PD0 G 130 reset-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>; 131 }; 131 }; 132 132 133 avdd_cif: cif-avdd-regulator { 133 avdd_cif: cif-avdd-regulator { 134 compatible = "regulator-fixed" 134 compatible = "regulator-fixed"; 135 regulator-name = "avdd-cif"; 135 regulator-name = "avdd-cif"; 136 regulator-min-microvolt = <280 136 regulator-min-microvolt = <2800000>; 137 regulator-max-microvolt = <280 137 regulator-max-microvolt = <2800000>; 138 gpio = <&gpio1 RK_PA6 GPIO_ACT 138 gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; 139 pinctrl-names = "default"; 139 pinctrl-names = "default"; 140 pinctrl-0 = <&cif_avdd_en>; 140 pinctrl-0 = <&cif_avdd_en>; 141 startup-delay-us = <100000>; 141 startup-delay-us = <100000>; 142 vin-supply = <&vcc28_cif>; 142 vin-supply = <&vcc28_cif>; 143 }; 143 }; 144 144 145 vcc_5v: vcc-5v-regulator { 145 vcc_5v: vcc-5v-regulator { 146 compatible = "regulator-fixed" 146 compatible = "regulator-fixed"; 147 regulator-name = "vcc-5v"; 147 regulator-name = "vcc-5v"; 148 regulator-min-microvolt = <500 148 regulator-min-microvolt = <5000000>; 149 regulator-max-microvolt = <500 149 regulator-max-microvolt = <5000000>; 150 enable-active-high; 150 enable-active-high; 151 gpio = <&gpio0 RK_PA3 GPIO_ACT 151 gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; 152 pinctrl-names = "default"; 152 pinctrl-names = "default"; 153 pinctrl-0 = <&v5_drv>; 153 pinctrl-0 = <&v5_drv>; 154 vin-supply = <&vsys>; 154 vin-supply = <&vsys>; 155 }; 155 }; 156 156 157 vcc_lcd: lcd-regulator { 157 vcc_lcd: lcd-regulator { 158 compatible = "regulator-fixed" 158 compatible = "regulator-fixed"; 159 regulator-name = "vcc-lcd"; 159 regulator-name = "vcc-lcd"; 160 gpio = <&gpio0 RK_PB0 GPIO_ACT 160 gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; 161 pinctrl-names = "default"; 161 pinctrl-names = "default"; 162 pinctrl-0 = <&lcd_en>; 162 pinctrl-0 = <&lcd_en>; 163 startup-delay-us = <50000>; 163 startup-delay-us = <50000>; 164 vin-supply = <&vcc_io>; 164 vin-supply = <&vcc_io>; 165 }; 165 }; 166 166 167 vcc_otg: usb-otg-regulator { 167 vcc_otg: usb-otg-regulator { 168 compatible = "regulator-fixed" 168 compatible = "regulator-fixed"; 169 regulator-name = "vcc-otg"; 169 regulator-name = "vcc-otg"; 170 regulator-min-microvolt = <500 170 regulator-min-microvolt = <5000000>; 171 regulator-max-microvolt = <500 171 regulator-max-microvolt = <5000000>; 172 enable-active-high; 172 enable-active-high; 173 gpio = <&gpio3 RK_PB1 GPIO_ACT 173 gpio = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>; 174 pinctrl-names = "default"; 174 pinctrl-names = "default"; 175 pinctrl-0 = <&otg_drv>; 175 pinctrl-0 = <&otg_drv>; 176 startup-delay-us = <100000>; 176 startup-delay-us = <100000>; 177 vin-supply = <&vcc_5v>; 177 vin-supply = <&vcc_5v>; 178 }; 178 }; 179 179 180 vcc_sd: sdmmc-regulator { 180 vcc_sd: sdmmc-regulator { 181 compatible = "regulator-fixed" 181 compatible = "regulator-fixed"; 182 regulator-name = "vcc-sd"; 182 regulator-name = "vcc-sd"; 183 regulator-min-microvolt = <330 183 regulator-min-microvolt = <3300000>; 184 regulator-max-microvolt = <330 184 regulator-max-microvolt = <3300000>; 185 gpio = <&gpio3 RK_PA1 GPIO_ACT 185 gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 186 pinctrl-names = "default"; 186 pinctrl-names = "default"; 187 pinctrl-0 = <&sdmmc_pwr>; 187 pinctrl-0 = <&sdmmc_pwr>; 188 startup-delay-us = <100000>; 188 startup-delay-us = <100000>; 189 vin-supply = <&vcc_io>; 189 vin-supply = <&vcc_io>; 190 }; 190 }; 191 191 192 vccq_emmc: emmc-vccq-regulator { 192 vccq_emmc: emmc-vccq-regulator { 193 compatible = "regulator-fixed" 193 compatible = "regulator-fixed"; 194 regulator-name = "vccq-emmc"; 194 regulator-name = "vccq-emmc"; 195 regulator-min-microvolt = <280 195 regulator-min-microvolt = <2800000>; 196 regulator-max-microvolt = <280 196 regulator-max-microvolt = <2800000>; 197 vin-supply = <&vcc_io>; 197 vin-supply = <&vcc_io>; 198 }; 198 }; 199 199 200 /* supplied from the bq24196 */ 200 /* supplied from the bq24196 */ 201 vsys: vsys-regulator { 201 vsys: vsys-regulator { 202 compatible = "regulator-fixed" 202 compatible = "regulator-fixed"; 203 regulator-name = "vsys"; 203 regulator-name = "vsys"; 204 regulator-min-microvolt = <500 204 regulator-min-microvolt = <5000000>; 205 regulator-max-microvolt = <500 205 regulator-max-microvolt = <5000000>; 206 regulator-boot-on; 206 regulator-boot-on; 207 }; 207 }; 208 }; 208 }; 209 209 210 &cpu0 { 210 &cpu0 { 211 cpu-supply = <&vdd_arm>; 211 cpu-supply = <&vdd_arm>; 212 }; 212 }; 213 213 214 &cpu1 { 214 &cpu1 { 215 cpu-supply = <&vdd_arm>; 215 cpu-supply = <&vdd_arm>; 216 }; 216 }; 217 217 218 &cpu2 { 218 &cpu2 { 219 cpu-supply = <&vdd_arm>; 219 cpu-supply = <&vdd_arm>; 220 }; 220 }; 221 221 222 &cpu3 { 222 &cpu3 { 223 cpu-supply = <&vdd_arm>; 223 cpu-supply = <&vdd_arm>; 224 }; 224 }; 225 225 226 &cru { 226 &cru { 227 assigned-clocks = <&cru PLL_GPLL>, <&c 227 assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, 228 <&cru ACLK_CPU>, 228 <&cru ACLK_CPU>, 229 <&cru HCLK_CPU>, <&c 229 <&cru HCLK_CPU>, <&cru PCLK_CPU>, 230 <&cru ACLK_PERI>, <& 230 <&cru ACLK_PERI>, <&cru HCLK_PERI>, 231 <&cru PCLK_PERI>; 231 <&cru PCLK_PERI>; 232 assigned-clock-rates = <594000000>, <5 232 assigned-clock-rates = <594000000>, <504000000>, 233 <300000000>, 233 <300000000>, 234 <150000000>, <7 234 <150000000>, <75000000>, 235 <300000000>, <1 235 <300000000>, <150000000>, 236 <75000000>; 236 <75000000>; 237 }; 237 }; 238 238 239 &emmc { 239 &emmc { 240 bus-width = <8>; 240 bus-width = <8>; 241 cap-mmc-highspeed; 241 cap-mmc-highspeed; 242 non-removable; 242 non-removable; 243 pinctrl-names = "default"; 243 pinctrl-names = "default"; 244 pinctrl-0 = <&emmc_clk &emmc_cmd>; 244 pinctrl-0 = <&emmc_clk &emmc_cmd>; 245 vmmc-supply = <&vcc_io>; 245 vmmc-supply = <&vcc_io>; 246 vqmmc-supply = <&vccq_emmc>; 246 vqmmc-supply = <&vccq_emmc>; 247 status = "okay"; 247 status = "okay"; 248 }; 248 }; 249 249 250 &gpu { 250 &gpu { 251 status = "okay"; 251 status = "okay"; 252 }; 252 }; 253 253 254 &i2c0 { 254 &i2c0 { 255 clock-frequency = <400000>; 255 clock-frequency = <400000>; 256 status = "okay"; 256 status = "okay"; 257 257 258 lis3de: accelerometer@29 { 258 lis3de: accelerometer@29 { 259 compatible = "st,lis3de"; 259 compatible = "st,lis3de"; 260 reg = <0x29>; 260 reg = <0x29>; 261 interrupt-parent = <&gpio0>; 261 interrupt-parent = <&gpio0>; 262 interrupts = <RK_PB7 IRQ_TYPE_ 262 interrupts = <RK_PB7 IRQ_TYPE_EDGE_RISING>; 263 pinctrl-names = "default"; 263 pinctrl-names = "default"; 264 pinctrl-0 = <&gsensor_int>; 264 pinctrl-0 = <&gsensor_int>; 265 rotation-matrix = "1", "0", "0 265 rotation-matrix = "1", "0", "0", 266 "0", "-1", " 266 "0", "-1", "0", 267 "0", "0", "1 267 "0", "0", "1"; 268 vdd-supply = <&vcc_io>; 268 vdd-supply = <&vcc_io>; 269 }; 269 }; 270 }; 270 }; 271 271 272 &i2c1 { 272 &i2c1 { 273 clock-frequency = <400000>; 273 clock-frequency = <400000>; 274 status = "okay"; 274 status = "okay"; 275 275 276 tmp108@48 { 276 tmp108@48 { 277 compatible = "ti,tmp108"; 277 compatible = "ti,tmp108"; 278 reg = <0x48>; 278 reg = <0x48>; 279 interrupt-parent = <&gpio1>; 279 interrupt-parent = <&gpio1>; 280 interrupts = <RK_PA7 IRQ_TYPE_ 280 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 281 pinctrl-names = "default"; 281 pinctrl-names = "default"; 282 pinctrl-0 = <&tmp_alrt>; 282 pinctrl-0 = <&tmp_alrt>; 283 #thermal-sensor-cells = <0>; 283 #thermal-sensor-cells = <0>; 284 }; 284 }; 285 285 286 hym8563: rtc@51 { 286 hym8563: rtc@51 { 287 compatible = "haoyu,hym8563"; 287 compatible = "haoyu,hym8563"; 288 reg = <0x51>; 288 reg = <0x51>; 289 interrupt-parent = <&gpio0>; 289 interrupt-parent = <&gpio0>; 290 interrupts = <RK_PB5 IRQ_TYPE_ 290 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 291 pinctrl-names = "default"; 291 pinctrl-names = "default"; 292 pinctrl-0 = <&rtc_int>; 292 pinctrl-0 = <&rtc_int>; 293 #clock-cells = <0>; 293 #clock-cells = <0>; 294 clock-output-names = "xin32k"; 294 clock-output-names = "xin32k"; 295 }; 295 }; 296 296 297 bat: battery@55 { 297 bat: battery@55 { 298 compatible = "ti,bq27541"; 298 compatible = "ti,bq27541"; 299 reg = <0x55>; 299 reg = <0x55>; 300 power-supplies = <&bq24196>; 300 power-supplies = <&bq24196>; 301 }; 301 }; 302 302 303 act8846: pmic@5a { 303 act8846: pmic@5a { 304 compatible = "active-semi,act8 304 compatible = "active-semi,act8846"; 305 reg = <0x5a>; 305 reg = <0x5a>; 306 pinctrl-names = "default"; 306 pinctrl-names = "default"; 307 pinctrl-0 = <&dvs0_ctl &pmic_i 307 pinctrl-0 = <&dvs0_ctl &pmic_int>; 308 308 309 vp1-supply = <&vsys>; 309 vp1-supply = <&vsys>; 310 vp2-supply = <&vsys>; 310 vp2-supply = <&vsys>; 311 vp3-supply = <&vsys>; 311 vp3-supply = <&vsys>; 312 vp4-supply = <&vsys>; 312 vp4-supply = <&vsys>; 313 inl1-supply = <&vcc_io>; 313 inl1-supply = <&vcc_io>; 314 inl2-supply = <&vsys>; 314 inl2-supply = <&vsys>; 315 inl3-supply = <&vsys>; 315 inl3-supply = <&vsys>; 316 316 317 regulators { 317 regulators { 318 vcc_ddr: REG1 { 318 vcc_ddr: REG1 { 319 regulator-name 319 regulator-name = "VCC_DDR"; 320 regulator-min- 320 regulator-min-microvolt = <1200000>; 321 regulator-max- 321 regulator-max-microvolt = <1200000>; 322 regulator-alwa 322 regulator-always-on; 323 }; 323 }; 324 324 325 vdd_log: REG2 { 325 vdd_log: REG2 { 326 regulator-name 326 regulator-name = "VDD_LOG"; 327 regulator-min- 327 regulator-min-microvolt = <1000000>; 328 regulator-max- 328 regulator-max-microvolt = <1200000>; 329 regulator-alwa 329 regulator-always-on; 330 }; 330 }; 331 331 332 vdd_arm: REG3 { 332 vdd_arm: REG3 { 333 regulator-name 333 regulator-name = "VDD_ARM"; 334 regulator-min- 334 regulator-min-microvolt = <875000>; 335 regulator-max- 335 regulator-max-microvolt = <1350000>; 336 regulator-alwa 336 regulator-always-on; 337 }; 337 }; 338 338 339 vcc_io: vcc_hdmi: REG4 339 vcc_io: vcc_hdmi: REG4 { 340 regulator-name 340 regulator-name = "VCC_IO"; 341 regulator-min- 341 regulator-min-microvolt = <3000000>; 342 regulator-max- 342 regulator-max-microvolt = <3000000>; 343 regulator-alwa 343 regulator-always-on; 344 }; 344 }; 345 345 346 vdd_10: REG5 { 346 vdd_10: REG5 { 347 regulator-name 347 regulator-name = "VDD_10"; 348 regulator-min- 348 regulator-min-microvolt = <1000000>; 349 regulator-max- 349 regulator-max-microvolt = <1000000>; 350 regulator-alwa 350 regulator-always-on; 351 }; 351 }; 352 352 353 vdd_12: REG6 { 353 vdd_12: REG6 { 354 regulator-name 354 regulator-name = "VDD_12"; 355 regulator-min- 355 regulator-min-microvolt = <1200000>; 356 regulator-max- 356 regulator-max-microvolt = <1200000>; 357 regulator-alwa 357 regulator-always-on; 358 }; 358 }; 359 359 360 vcc18_cif: REG7 { 360 vcc18_cif: REG7 { 361 regulator-name 361 regulator-name = "VCC18_CIF"; 362 regulator-min- 362 regulator-min-microvolt = <1800000>; 363 regulator-max- 363 regulator-max-microvolt = <1800000>; 364 regulator-alwa 364 regulator-always-on; 365 }; 365 }; 366 366 367 vcca_33: REG8 { 367 vcca_33: REG8 { 368 regulator-name 368 regulator-name = "VCCA_33"; 369 regulator-min- 369 regulator-min-microvolt = <3300000>; 370 regulator-max- 370 regulator-max-microvolt = <3300000>; 371 regulator-alwa 371 regulator-always-on; 372 }; 372 }; 373 373 374 vcc_tp: REG9 { 374 vcc_tp: REG9 { 375 regulator-name 375 regulator-name = "VCC_TP"; 376 regulator-min- 376 regulator-min-microvolt = <3300000>; 377 regulator-max- 377 regulator-max-microvolt = <3300000>; 378 regulator-alwa 378 regulator-always-on; 379 }; 379 }; 380 380 381 vccio_wl: REG10 { 381 vccio_wl: REG10 { 382 regulator-name 382 regulator-name = "VCCIO_WL"; 383 regulator-min- 383 regulator-min-microvolt = <2800000>; 384 regulator-max- 384 regulator-max-microvolt = <2800000>; 385 regulator-alwa 385 regulator-always-on; 386 }; 386 }; 387 387 388 vcc_18: REG11 { 388 vcc_18: REG11 { 389 regulator-name 389 regulator-name = "VCC_18"; 390 regulator-min- 390 regulator-min-microvolt = <1800000>; 391 regulator-max- 391 regulator-max-microvolt = <1800000>; 392 regulator-alwa 392 regulator-always-on; 393 }; 393 }; 394 394 395 vcc28_cif: REG12 { 395 vcc28_cif: REG12 { 396 regulator-name 396 regulator-name = "VCC28_CIF"; 397 regulator-min- 397 regulator-min-microvolt = <2800000>; 398 regulator-max- 398 regulator-max-microvolt = <2800000>; 399 regulator-alwa 399 regulator-always-on; 400 }; 400 }; 401 }; 401 }; 402 }; 402 }; 403 403 404 bq24196: charger@6b { 404 bq24196: charger@6b { 405 compatible = "ti,bq24196"; 405 compatible = "ti,bq24196"; 406 reg = <0x6b>; 406 reg = <0x6b>; 407 interrupt-parent = <&gpio0>; 407 interrupt-parent = <&gpio0>; 408 interrupts = <RK_PD7 IRQ_TYPE_ 408 interrupts = <RK_PD7 IRQ_TYPE_EDGE_FALLING>; 409 pinctrl-names = "default"; 409 pinctrl-names = "default"; 410 pinctrl-0 = <&charger_int &chg 410 pinctrl-0 = <&charger_int &chg_ctl &otg_en>; 411 ti,system-minimum-microvolt = 411 ti,system-minimum-microvolt = <3200000>; 412 monitored-battery = <&bat>; 412 monitored-battery = <&bat>; 413 omit-battery-class; 413 omit-battery-class; 414 414 415 usb_otg_vbus: usb-otg-vbus { } 415 usb_otg_vbus: usb-otg-vbus { }; 416 }; 416 }; 417 }; 417 }; 418 418 419 &i2c2 { 419 &i2c2 { 420 clock-frequency = <400000>; 420 clock-frequency = <400000>; 421 status = "okay"; 421 status = "okay"; 422 422 423 ft5606: touchscreen@3e { 423 ft5606: touchscreen@3e { 424 compatible = "edt,edt-ft5506"; 424 compatible = "edt,edt-ft5506"; 425 reg = <0x3e>; 425 reg = <0x3e>; 426 interrupt-parent = <&gpio1>; 426 interrupt-parent = <&gpio1>; 427 interrupts = <RK_PB7 IRQ_TYPE_ 427 interrupts = <RK_PB7 IRQ_TYPE_EDGE_FALLING>; 428 pinctrl-names = "default"; 428 pinctrl-names = "default"; 429 pinctrl-0 = <&tp_int &tp_rst>; 429 pinctrl-0 = <&tp_int &tp_rst>; 430 reset-gpios = <&gpio0 RK_PB6 G 430 reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; 431 touchscreen-inverted-y; 431 touchscreen-inverted-y; 432 /* hw ts resolution does not m 432 /* hw ts resolution does not match display */ 433 touchscreen-size-y = <1024>; 433 touchscreen-size-y = <1024>; 434 touchscreen-size-x = <768>; 434 touchscreen-size-x = <768>; 435 touchscreen-swapped-x-y; 435 touchscreen-swapped-x-y; 436 }; 436 }; 437 }; 437 }; 438 438 439 &i2c3 { 439 &i2c3 { 440 clock-frequency = <400000>; 440 clock-frequency = <400000>; 441 status = "okay"; 441 status = "okay"; 442 }; 442 }; 443 443 444 &i2c4 { 444 &i2c4 { 445 clock-frequency = <400000>; 445 clock-frequency = <400000>; 446 status = "okay"; 446 status = "okay"; 447 447 448 rt5616: codec@1b { 448 rt5616: codec@1b { 449 compatible = "realtek,rt5616"; 449 compatible = "realtek,rt5616"; 450 reg = <0x1b>; 450 reg = <0x1b>; 451 clocks = <&cru SCLK_I2S0>; 451 clocks = <&cru SCLK_I2S0>; 452 clock-names = "mclk"; 452 clock-names = "mclk"; 453 #sound-dai-cells = <0>; 453 #sound-dai-cells = <0>; 454 }; 454 }; 455 }; 455 }; 456 456 457 &i2s0 { 457 &i2s0 { 458 status = "okay"; 458 status = "okay"; 459 }; 459 }; 460 460 461 &mmc0 { 461 &mmc0 { 462 bus-width = <4>; 462 bus-width = <4>; 463 cap-mmc-highspeed; 463 cap-mmc-highspeed; 464 cap-sd-highspeed; 464 cap-sd-highspeed; 465 disable-wp; 465 disable-wp; 466 pinctrl-names = "default"; 466 pinctrl-names = "default"; 467 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <& 467 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 468 vmmc-supply = <&vcc_sd>; 468 vmmc-supply = <&vcc_sd>; 469 status = "okay"; 469 status = "okay"; 470 }; 470 }; 471 471 472 &mmc1 { 472 &mmc1 { 473 bus-width = <4>; 473 bus-width = <4>; 474 cap-sd-highspeed; 474 cap-sd-highspeed; 475 keep-power-in-suspend; 475 keep-power-in-suspend; 476 mmc-pwrseq = <&sdio_pwrseq>; 476 mmc-pwrseq = <&sdio_pwrseq>; 477 non-removable; 477 non-removable; 478 pinctrl-names = "default"; 478 pinctrl-names = "default"; 479 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <& 479 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 480 vqmmc-supply = <&vccio_wl>; 480 vqmmc-supply = <&vccio_wl>; 481 #address-cells = <1>; 481 #address-cells = <1>; 482 #size-cells = <0>; 482 #size-cells = <0>; 483 status = "okay"; 483 status = "okay"; 484 484 485 brcmf: wifi@1 { 485 brcmf: wifi@1 { 486 reg = <1>; 486 reg = <1>; 487 compatible = "brcm,bcm4329-fma 487 compatible = "brcm,bcm4329-fmac"; 488 interrupt-parent = <&gpio3>; 488 interrupt-parent = <&gpio3>; 489 interrupts = <RK_PD2 IRQ_TYPE_ 489 interrupts = <RK_PD2 IRQ_TYPE_NONE>; 490 interrupt-names = "host-wake"; 490 interrupt-names = "host-wake"; 491 brcm,drive-strength = <5>; 491 brcm,drive-strength = <5>; 492 pinctrl-names = "default"; 492 pinctrl-names = "default"; 493 pinctrl-0 = <&wifi_host_wake>; 493 pinctrl-0 = <&wifi_host_wake>; 494 }; 494 }; 495 }; 495 }; 496 496 497 &pwm1 { 497 &pwm1 { 498 status = "okay"; 498 status = "okay"; 499 }; 499 }; 500 500 501 &pinctrl { 501 &pinctrl { 502 pcfg_output_high: pcfg-output-high { 502 pcfg_output_high: pcfg-output-high { 503 output-high; 503 output-high; 504 }; 504 }; 505 505 506 pcfg_output_low: pcfg-output-low { 506 pcfg_output_low: pcfg-output-low { 507 output-low; 507 output-low; 508 }; 508 }; 509 509 510 act8846 { 510 act8846 { 511 dvs0_ctl: dvs0-ctl { 511 dvs0_ctl: dvs0-ctl { 512 rockchip,pins = <3 RK_ 512 rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>; 513 }; 513 }; 514 514 515 pmic_int: pmic-int { 515 pmic_int: pmic-int { 516 rockchip,pins = <0 RK_ 516 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 517 }; 517 }; 518 }; 518 }; 519 519 520 bq24196 { 520 bq24196 { 521 charger_int: charger-int { 521 charger_int: charger-int { 522 rockchip,pins = <0 RK_ 522 rockchip,pins = <0 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>; 523 }; 523 }; 524 524 525 /* pin hog to make it select u 525 /* pin hog to make it select usb profile */ 526 chg_ctl: chg-ctl { 526 chg_ctl: chg-ctl { 527 rockchip,pins = <0 RK_ 527 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>; 528 }; 528 }; 529 529 530 /* low: charging, high: comple 530 /* low: charging, high: complete, fault: blinking */ 531 chg_det: chg-det { 531 chg_det: chg-det { 532 rockchip,pins = <0 RK_ 532 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 533 }; 533 }; 534 534 535 /* charging enabled when pin l 535 /* charging enabled when pin low and register set */ 536 chg_en: chg-en { 536 chg_en: chg-en { 537 rockchip,pins = <0 RK_ 537 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_output_low>; 538 }; 538 }; 539 539 540 /* bq29196 powergood (when low 540 /* bq29196 powergood (when low) signal */ 541 dc_det: dc-det { 541 dc_det: dc-det { 542 rockchip,pins = <0 RK_ 542 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 543 }; 543 }; 544 544 545 /* wire bq24196 otg pin to hig 545 /* wire bq24196 otg pin to high, to enable 500mA charging */ 546 otg_en: otg-en { 546 otg_en: otg-en { 547 rockchip,pins = <0 RK_ 547 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>; 548 }; 548 }; 549 }; 549 }; 550 550 551 camera { 551 camera { 552 cif0_pdn: cif0-pdn { 552 cif0_pdn: cif0-pdn { 553 rockchip,pins = <3 RK_ 553 rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 554 }; 554 }; 555 555 556 cif1_pdn: cif1-pdn { 556 cif1_pdn: cif1-pdn { 557 rockchip,pins = <3 RK_ 557 rockchip,pins = <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 558 }; 558 }; 559 559 560 cif_avdd_en: cif-avdd-en { 560 cif_avdd_en: cif-avdd-en { 561 rockchip,pins = <1 RK_ 561 rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 562 }; 562 }; 563 }; 563 }; 564 564 565 display { 565 display { 566 lcd_cs: lcd-cs { 566 lcd_cs: lcd-cs { 567 rockchip,pins = <3 RK_ 567 rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 568 }; 568 }; 569 569 570 lcd_en: lcd-en { 570 lcd_en: lcd-en { 571 rockchip,pins = <0 RK_ 571 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 572 }; 572 }; 573 }; 573 }; 574 574 575 ft5606 { 575 ft5606 { 576 tp_int: tp-int { 576 tp_int: tp-int { 577 rockchip,pins = <1 RK_ 577 rockchip,pins = <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>; 578 }; 578 }; 579 579 580 tp_rst: tp-rst { 580 tp_rst: tp-rst { 581 rockchip,pins = <0 RK_ 581 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 582 }; 582 }; 583 }; 583 }; 584 584 585 hdmi { 585 hdmi { 586 hdmi_int: hdmi-int { 586 hdmi_int: hdmi-int { 587 rockchip,pins = <2 RK_ 587 rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 588 }; 588 }; 589 589 590 hdmi_rst: hdmi-rst { 590 hdmi_rst: hdmi-rst { 591 rockchip,pins = <3 RK_ 591 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 592 }; 592 }; 593 }; 593 }; 594 594 595 hym8563 { 595 hym8563 { 596 rtc_int: rtc-int { 596 rtc_int: rtc-int { 597 rockchip,pins = <0 RK_ 597 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 598 }; 598 }; 599 }; 599 }; 600 600 601 keys { 601 keys { 602 pwr_hold: pwr-hold { 602 pwr_hold: pwr-hold { 603 rockchip,pins = <0 RK_ 603 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 604 }; 604 }; 605 605 606 pwr_key: pwr-key { 606 pwr_key: pwr-key { 607 rockchip,pins = <0 RK_ 607 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 608 }; 608 }; 609 }; 609 }; 610 610 611 lis3de { 611 lis3de { 612 gsensor_int: gsensor-int { 612 gsensor_int: gsensor-int { 613 rockchip,pins = <0 RK_ 613 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 614 }; 614 }; 615 }; 615 }; 616 616 617 mmc { 617 mmc { 618 sdmmc_pwr: sdmmc-pwr { 618 sdmmc_pwr: sdmmc-pwr { 619 rockchip,pins = <3 RK_ 619 rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 620 }; 620 }; 621 }; 621 }; 622 622 623 tmp108 { 623 tmp108 { 624 tmp_alrt: tmp-alrt { 624 tmp_alrt: tmp-alrt { 625 rockchip,pins = <1 RK_ 625 rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 626 }; 626 }; 627 }; 627 }; 628 628 629 usb { 629 usb { 630 v5_drv: v5-drv { 630 v5_drv: v5-drv { 631 rockchip,pins = <0 RK_ 631 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 632 }; 632 }; 633 633 634 otg_drv: otg-drv { 634 otg_drv: otg-drv { 635 rockchip,pins = <3 RK_ 635 rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 636 }; 636 }; 637 637 638 usb_int: usb-int { 638 usb_int: usb-int { 639 rockchip,pins = <0 RK_ 639 rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 640 }; 640 }; 641 }; 641 }; 642 642 643 rk903 { 643 rk903 { 644 bt_host_wake: bt-host-wake { 644 bt_host_wake: bt-host-wake { 645 rockchip,pins = <0 RK_ 645 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 646 }; 646 }; 647 647 648 bt_reg_on: bt-reg-on { 648 bt_reg_on: bt-reg-on { 649 rockchip,pins = <3 RK_ 649 rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 650 }; 650 }; 651 651 652 /* pin hog to pull the reset h 652 /* pin hog to pull the reset high */ 653 bt_rst: bt-rst { 653 bt_rst: bt-rst { 654 rockchip,pins = <3 RK_ 654 rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_output_high>; 655 }; 655 }; 656 656 657 bt_wake: bt-wake { 657 bt_wake: bt-wake { 658 rockchip,pins = <3 RK_ 658 rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 659 }; 659 }; 660 660 661 wifi_host_wake: wifi-host-wake 661 wifi_host_wake: wifi-host-wake { 662 rockchip,pins = <3 RK_ 662 rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; 663 }; 663 }; 664 664 665 wifi_reg_on: wifi-reg-on { 665 wifi_reg_on: wifi-reg-on { 666 rockchip,pins = <3 RK_ 666 rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 667 }; 667 }; 668 }; 668 }; 669 }; 669 }; 670 670 671 &saradc { 671 &saradc { 672 vref-supply = <&vcc_18>; 672 vref-supply = <&vcc_18>; 673 status = "okay"; 673 status = "okay"; 674 }; 674 }; 675 675 676 &spdif { 676 &spdif { 677 status = "okay"; 677 status = "okay"; 678 }; 678 }; 679 679 680 &uart0 { 680 &uart0 { 681 pinctrl-0 = <&uart0_xfer &uart0_cts &u 681 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 682 status = "okay"; 682 status = "okay"; 683 683 684 bluetooth { 684 bluetooth { 685 compatible = "brcm,bcm43438-bt 685 compatible = "brcm,bcm43438-bt"; 686 max-speed = <2000000>; 686 max-speed = <2000000>; 687 device-wakeup-gpios = <&gpio3 687 device-wakeup-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; 688 host-wakeup-gpios = <&gpio0 RK 688 host-wakeup-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 689 shutdown-gpios = <&gpio3 RK_PC 689 shutdown-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>; 690 pinctrl-names = "default"; 690 pinctrl-names = "default"; 691 pinctrl-0 = <&bt_host_wake &bt 691 pinctrl-0 = <&bt_host_wake &bt_reg_on &bt_rst &bt_wake>; 692 }; 692 }; 693 }; 693 }; 694 694 695 &uart1 { 695 &uart1 { 696 status = "okay"; 696 status = "okay"; 697 }; 697 }; 698 698 699 &uart2 { 699 &uart2 { 700 status = "okay"; 700 status = "okay"; 701 }; 701 }; 702 702 703 &uart3 { 703 &uart3 { 704 pinctrl-0 = <&uart3_xfer &uart3_cts &u 704 pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>; 705 status = "okay"; 705 status = "okay"; 706 }; 706 }; 707 707 708 &usbphy { 708 &usbphy { 709 status = "okay"; 709 status = "okay"; 710 }; 710 }; 711 711 712 &usb_host { 712 &usb_host { 713 status = "okay"; 713 status = "okay"; 714 }; 714 }; 715 715 716 &usb_otg { 716 &usb_otg { 717 status = "okay"; 717 status = "okay"; 718 }; 718 }; 719 719 720 &vop0 { 720 &vop0 { 721 status = "okay"; 721 status = "okay"; 722 }; 722 }; 723 723 724 &vop0_out { 724 &vop0_out { 725 vop0_out_lvds: endpoint { 725 vop0_out_lvds: endpoint { 726 remote-endpoint = <&lvds_in_vo 726 remote-endpoint = <&lvds_in_vop0>; 727 }; 727 }; 728 }; 728 }; 729 729 730 &vop1 { 730 &vop1 { 731 pinctrl-names = "default"; 731 pinctrl-names = "default"; 732 pinctrl-0 = <&lcdc1_dclk &lcdc1_den &l 732 pinctrl-0 = <&lcdc1_dclk &lcdc1_den &lcdc1_hsync 733 &lcdc1_vsync &lcdc1_rgb24 733 &lcdc1_vsync &lcdc1_rgb24>; 734 status = "okay"; 734 status = "okay"; 735 }; 735 }; 736 736 737 &wdt { 737 &wdt { 738 status = "okay"; 738 status = "okay"; 739 }; 739 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.