1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright 2021 Andreas Kemnade 4 * based on works 5 * Copyright 2016 Freescale Semiconductor, Inc. 6 * and 7 * Copyright (C) 2014 Ricoh Electronic Devices Co., Ltd 8 * 9 * Netronix E70K02 board common. 10 * This board is equipped with different SoCs and 11 * found in ebook-readers like the Kobo Clara HD (with i.MX6SLL) and 12 * the Tolino Shine 3 (with i.MX6SL) 13 */ 14#include <dt-bindings/input/input.h> 15 16/ { 17 aliases { 18 mmc0 = &usdhc1; 19 mmc1 = &usdhc3; 20 }; 21 22 chosen { 23 stdout-path = &uart1; 24 }; 25 26 gpio_keys: gpio-keys { 27 compatible = "gpio-keys"; 28 29 key-power { 30 label = "Power"; 31 gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; 32 linux,code = <KEY_POWER>; 33 wakeup-source; 34 }; 35 36 key-cover { 37 label = "Cover"; 38 gpios = <&gpio4 23 GPIO_ACTIVE_LOW>; 39 linux,code = <SW_LID>; 40 linux,input-type = <EV_SW>; 41 wakeup-source; 42 }; 43 44 key-pageup { 45 label = "PageUp"; 46 gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; 47 linux,code = <KEY_PAGEUP>; 48 }; 49 50 key-pagedown { 51 label = "PageDown"; 52 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 53 linux,code = <KEY_PAGEDOWN>; 54 }; 55 }; 56 57 leds: leds { 58 compatible = "gpio-leds"; 59 60 led { 61 label = "e70k02:white:on"; 62 gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; 63 linux,default-trigger = "timer"; 64 }; 65 }; 66 67 memory@80000000 { 68 device_type = "memory"; 69 reg = <0x80000000 0x20000000>; 70 }; 71 72 reg_wifi: regulator-wifi { 73 compatible = "regulator-fixed"; 74 regulator-name = "SD3_SPWR"; 75 regulator-min-microvolt = <3000000>; 76 regulator-max-microvolt = <3000000>; 77 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 78 enable-active-high; 79 }; 80 81 wifi_pwrseq: wifi-pwrseq { 82 compatible = "mmc-pwrseq-simple"; 83 post-power-on-delay-ms = <20>; 84 reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 85 }; 86}; 87 88&i2c1 { 89 clock-frequency = <100000>; 90 status = "okay"; 91 92 lm3630a: backlight@36 { 93 reg = <0x36>; 94 compatible = "ti,lm3630a"; 95 enable-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; 96 97 #address-cells = <1>; 98 #size-cells = <0>; 99 100 led@0 { 101 reg = <0>; 102 led-sources = <0>; 103 label = "backlight_warm"; 104 default-brightness = <0>; 105 max-brightness = <255>; 106 }; 107 108 led@1 { 109 reg = <1>; 110 led-sources = <1>; 111 label = "backlight_cold"; 112 default-brightness = <0>; 113 max-brightness = <255>; 114 }; 115 }; 116 117 /* TODO: KX122 acceleration sensor a 0x1e */ 118 119}; 120 121&i2c2 { 122 clock-frequency = <100000>; 123 status = "okay"; 124 125 /* TODO: CYTTSP5 touch controller at 0x24 */ 126 127 /* TODO: SY7636 PMIC for E Ink at 0x62 */ 128 129}; 130 131&i2c3 { 132 clock-frequency = <100000>; 133 status = "okay"; 134 135 ricoh619: pmic@32 { 136 compatible = "ricoh,rc5t619"; 137 reg = <0x32>; 138 interrupt-parent = <&gpio4>; 139 interrupts = <19 IRQ_TYPE_EDGE_FALLING>; 140 system-power-controller; 141 142 regulators { 143 dcdc1_reg: DCDC1 { 144 regulator-name = "DCDC1"; 145 regulator-min-microvolt = <300000>; 146 regulator-max-microvolt = <1875000>; 147 regulator-always-on; 148 regulator-boot-on; 149 150 regulator-state-mem { 151 regulator-on-in-suspend; 152 regulator-suspend-max-microvolt = <900000>; 153 regulator-suspend-min-microvolt = <900000>; 154 }; 155 }; 156 157 /* Core3_3V3 */ 158 dcdc2_reg: DCDC2 { 159 regulator-name = "DCDC2"; 160 regulator-always-on; 161 regulator-boot-on; 162 163 regulator-state-mem { 164 regulator-on-in-suspend; 165 regulator-suspend-max-microvolt = <3300000>; 166 regulator-suspend-min-microvolt = <3300000>; 167 }; 168 }; 169 170 dcdc3_reg: DCDC3 { 171 regulator-name = "DCDC3"; 172 regulator-min-microvolt = <300000>; 173 regulator-max-microvolt = <1875000>; 174 regulator-always-on; 175 regulator-boot-on; 176 177 regulator-state-mem { 178 regulator-on-in-suspend; 179 regulator-suspend-max-microvolt = <1140000>; 180 regulator-suspend-min-microvolt = <1140000>; 181 }; 182 }; 183 184 /* Core4_1V2 */ 185 dcdc4_reg: DCDC4 { 186 regulator-name = "DCDC4"; 187 regulator-min-microvolt = <1200000>; 188 regulator-max-microvolt = <1200000>; 189 regulator-always-on; 190 regulator-boot-on; 191 192 regulator-state-mem { 193 regulator-on-in-suspend; 194 regulator-suspend-max-microvolt = <1140000>; 195 regulator-suspend-min-microvolt = <1140000>; 196 }; 197 }; 198 199 /* Core4_1V8 */ 200 dcdc5_reg: DCDC5 { 201 regulator-name = "DCDC5"; 202 regulator-min-microvolt = <1800000>; 203 regulator-max-microvolt = <1800000>; 204 regulator-always-on; 205 regulator-boot-on; 206 207 regulator-state-mem { 208 regulator-on-in-suspend; 209 regulator-suspend-max-microvolt = <1700000>; 210 regulator-suspend-min-microvolt = <1700000>; 211 }; 212 }; 213 214 ldo1_reg: LDO1 { 215 regulator-name = "LDO1"; 216 regulator-boot-on; 217 }; 218 219 /* Core1_3V3 */ 220 ldo2_reg: LDO2 { 221 regulator-name = "LDO2"; 222 regulator-always-on; 223 regulator-boot-on; 224 225 regulator-state-mem { 226 regulator-on-in-suspend; 227 regulator-suspend-max-microvolt = <3000000>; 228 regulator-suspend-min-microvolt = <3000000>; 229 }; 230 }; 231 232 /* Core5_1V2 */ 233 ldo3_reg: LDO3 { 234 regulator-name = "LDO3"; 235 regulator-always-on; 236 regulator-boot-on; 237 }; 238 239 ldo4_reg: LDO4 { 240 regulator-name = "LDO4"; 241 regulator-boot-on; 242 }; 243 244 /* SPD_3V3 */ 245 ldo5_reg: LDO5 { 246 regulator-name = "LDO5"; 247 regulator-always-on; 248 regulator-boot-on; 249 }; 250 251 /* DDR_0V6 */ 252 ldo6_reg: LDO6 { 253 regulator-name = "LDO6"; 254 regulator-always-on; 255 regulator-boot-on; 256 }; 257 258 /* VDD_PWM */ 259 ldo7_reg: LDO7 { 260 regulator-name = "LDO7"; 261 regulator-boot-on; 262 }; 263 264 /* ldo_1v8 */ 265 ldo8_reg: LDO8 { 266 regulator-name = "LDO8"; 267 regulator-min-microvolt = <1800000>; 268 regulator-max-microvolt = <1800000>; 269 regulator-boot-on; 270 }; 271 272 ldo9_reg: LDO9 { 273 regulator-name = "LDO9"; 274 regulator-boot-on; 275 }; 276 277 ldo10_reg: LDO10 { 278 regulator-name = "LDO10"; 279 regulator-boot-on; 280 }; 281 282 ldortc1_reg: LDORTC1 { 283 regulator-name = "LDORTC1"; 284 regulator-boot-on; 285 }; 286 }; 287 }; 288}; 289 290&snvs_rtc { 291 /* we are using the rtc in the pmic, not disabled in imx6sll.dtsi */ 292 status = "disabled"; 293}; 294 295&uart1 { 296 status = "okay"; 297}; 298 299&usdhc1 { 300 non-removable; 301 no-1-8-v; 302 status = "okay"; 303}; 304 305&usdhc3 { 306 vmmc-supply = <®_wifi>; 307 mmc-pwrseq = <&wifi_pwrseq>; 308 cap-power-off-card; 309 non-removable; 310 status = "okay"; 311}; 312 313&usbotg1 { 314 pinctrl-names = "default"; 315 disable-over-current; 316 srp-disable; 317 hnp-disable; 318 adp-disable; 319 status = "okay"; 320}; 321