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