0001 // SPDX-License-Identifier: (GPL-2.0)
0002 /*
0003 * Device tree for the Tolino Shine 3 ebook reader
0004 *
0005 * Name on mainboard is: 37NB-E60K00+4A4
0006 * Serials start with: E60K02 (a number also seen in
0007 * vendor kernel sources)
0008 *
0009 * This mainboard seems to be equipped with different SoCs.
0010 * In the Toline Shine 3 ebook reader it is a i.MX6SL
0011 *
0012 * Copyright 2019 Andreas Kemnade
0013 * based on works
0014 * Copyright 2016 Freescale Semiconductor, Inc.
0015 */
0016
0017 /dts-v1/;
0018
0019 #include <dt-bindings/input/input.h>
0020 #include <dt-bindings/gpio/gpio.h>
0021 #include "imx6sl.dtsi"
0022 #include "e60k02.dtsi"
0023
0024 / {
0025 model = "Tolino Shine 3";
0026 compatible = "kobo,tolino-shine3", "fsl,imx6sl";
0027 };
0028
0029 &gpio_keys {
0030 pinctrl-names = "default";
0031 pinctrl-0 = <&pinctrl_gpio_keys>;
0032 };
0033
0034 &i2c1 {
0035 pinctrl-names = "default","sleep";
0036 pinctrl-0 = <&pinctrl_i2c1>;
0037 pinctrl-1 = <&pinctrl_i2c1_sleep>;
0038 };
0039
0040 &i2c2 {
0041 pinctrl-names = "default","sleep";
0042 pinctrl-0 = <&pinctrl_i2c2>;
0043 pinctrl-1 = <&pinctrl_i2c2_sleep>;
0044 };
0045
0046 &i2c3 {
0047 pinctrl-names = "default";
0048 pinctrl-0 = <&pinctrl_i2c3>;
0049 };
0050
0051 &iomuxc {
0052 pinctrl-names = "default";
0053 pinctrl-0 = <&pinctrl_hog>;
0054
0055 pinctrl_gpio_keys: gpio-keysgrp {
0056 fsl,pins = <
0057 MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x17059 /* PWR_SW */
0058 MX6SL_PAD_SD1_DAT4__GPIO5_IO12 0x17059 /* HALL_EN */
0059 >;
0060 };
0061
0062 pinctrl_hog: hoggrp {
0063 fsl,pins = <
0064 MX6SL_PAD_LCD_DAT0__GPIO2_IO20 0x79
0065 MX6SL_PAD_LCD_DAT1__GPIO2_IO21 0x79
0066 MX6SL_PAD_LCD_DAT2__GPIO2_IO22 0x79
0067 MX6SL_PAD_LCD_DAT3__GPIO2_IO23 0x79
0068 MX6SL_PAD_LCD_DAT4__GPIO2_IO24 0x79
0069 MX6SL_PAD_LCD_DAT5__GPIO2_IO25 0x79
0070 MX6SL_PAD_LCD_DAT6__GPIO2_IO26 0x79
0071 MX6SL_PAD_LCD_DAT7__GPIO2_IO27 0x79
0072 MX6SL_PAD_LCD_DAT8__GPIO2_IO28 0x79
0073 MX6SL_PAD_LCD_DAT9__GPIO2_IO29 0x79
0074 MX6SL_PAD_LCD_DAT10__GPIO2_IO30 0x79
0075 MX6SL_PAD_LCD_DAT11__GPIO2_IO31 0x79
0076 MX6SL_PAD_LCD_DAT12__GPIO3_IO00 0x79
0077 MX6SL_PAD_LCD_DAT13__GPIO3_IO01 0x79
0078 MX6SL_PAD_LCD_DAT14__GPIO3_IO02 0x79
0079 MX6SL_PAD_LCD_DAT15__GPIO3_IO03 0x79
0080 MX6SL_PAD_LCD_DAT16__GPIO3_IO04 0x79
0081 MX6SL_PAD_LCD_DAT17__GPIO3_IO05 0x79
0082 MX6SL_PAD_LCD_DAT18__GPIO3_IO06 0x79
0083 MX6SL_PAD_LCD_DAT19__GPIO3_IO07 0x79
0084 MX6SL_PAD_LCD_DAT20__GPIO3_IO08 0x79
0085 MX6SL_PAD_LCD_DAT21__GPIO3_IO09 0x79
0086 MX6SL_PAD_LCD_DAT22__GPIO3_IO10 0x79
0087 MX6SL_PAD_LCD_DAT23__GPIO3_IO11 0x79
0088 MX6SL_PAD_LCD_CLK__GPIO2_IO15 0x79
0089 MX6SL_PAD_LCD_ENABLE__GPIO2_IO16 0x79
0090 MX6SL_PAD_LCD_HSYNC__GPIO2_IO17 0x79
0091 MX6SL_PAD_LCD_VSYNC__GPIO2_IO18 0x79
0092 MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x79
0093 MX6SL_PAD_KEY_COL3__GPIO3_IO30 0x79
0094 MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x79
0095 MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x79
0096 MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x79
0097 >;
0098 };
0099
0100 pinctrl_i2c1: i2c1grp {
0101 fsl,pins = <
0102 MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001f8b1
0103 MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x4001f8b1
0104 >;
0105 };
0106
0107 pinctrl_i2c1_sleep: i2c1grp-sleep {
0108 fsl,pins = <
0109 MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x400108b1
0110 MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x400108b1
0111 >;
0112 };
0113
0114 pinctrl_i2c2: i2c2grp {
0115 fsl,pins = <
0116 MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001f8b1
0117 MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001f8b1
0118 >;
0119 };
0120
0121 pinctrl_i2c2_sleep: i2c2grp-sleep {
0122 fsl,pins = <
0123 MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x400108b1
0124 MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x400108b1
0125 >;
0126 };
0127
0128 pinctrl_i2c3: i2c3grp {
0129 fsl,pins = <
0130 MX6SL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1
0131 MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1
0132 >;
0133 };
0134
0135 pinctrl_led: ledgrp {
0136 fsl,pins = <
0137 MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x17059
0138 >;
0139 };
0140
0141 pinctrl_lm3630a_bl_gpio: lm3630a-bl-gpiogrp {
0142 fsl,pins = <
0143 MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059 /* HWEN */
0144 >;
0145 };
0146
0147 pinctrl_ricoh_gpio: ricoh_gpiogrp {
0148 fsl,pins = <
0149 MX6SL_PAD_SD1_CLK__GPIO5_IO15 0x1b8b1 /* ricoh619 chg */
0150 MX6SL_PAD_SD1_DAT0__GPIO5_IO11 0x1b8b1 /* ricoh619 irq */
0151 MX6SL_PAD_KEY_COL2__GPIO3_IO28 0x1b8b1 /* ricoh619 bat_low_int */
0152 >;
0153 };
0154
0155 pinctrl_uart1: uart1grp {
0156 fsl,pins = <
0157 MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1
0158 MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1
0159 >;
0160 };
0161
0162 pinctrl_uart4: uart4grp {
0163 fsl,pins = <
0164 MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1
0165 MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1
0166 >;
0167 };
0168
0169 pinctrl_usbotg1: usbotg1grp {
0170 fsl,pins = <
0171 MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
0172 >;
0173 };
0174
0175 pinctrl_usdhc2: usdhc2grp {
0176 fsl,pins = <
0177 MX6SL_PAD_SD2_CMD__SD2_CMD 0x17059
0178 MX6SL_PAD_SD2_CLK__SD2_CLK 0x13059
0179 MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x17059
0180 MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x17059
0181 MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x17059
0182 MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x17059
0183 >;
0184 };
0185
0186 pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
0187 fsl,pins = <
0188 MX6SL_PAD_SD2_CMD__SD2_CMD 0x170b9
0189 MX6SL_PAD_SD2_CLK__SD2_CLK 0x130b9
0190 MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170b9
0191 MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170b9
0192 MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170b9
0193 MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170b9
0194 >;
0195 };
0196
0197 pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
0198 fsl,pins = <
0199 MX6SL_PAD_SD2_CMD__SD2_CMD 0x170f9
0200 MX6SL_PAD_SD2_CLK__SD2_CLK 0x130f9
0201 MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170f9
0202 MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170f9
0203 MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170f9
0204 MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170f9
0205 >;
0206 };
0207
0208 pinctrl_usdhc2_sleep: usdhc2grp-sleep {
0209 fsl,pins = <
0210 MX6SL_PAD_SD2_CMD__GPIO5_IO04 0x100f9
0211 MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x100f9
0212 MX6SL_PAD_SD2_DAT0__GPIO5_IO01 0x100f9
0213 MX6SL_PAD_SD2_DAT1__GPIO4_IO30 0x100f9
0214 MX6SL_PAD_SD2_DAT2__GPIO5_IO03 0x100f9
0215 MX6SL_PAD_SD2_DAT3__GPIO4_IO28 0x100f9
0216 >;
0217 };
0218
0219 pinctrl_usdhc3: usdhc3grp {
0220 fsl,pins = <
0221 MX6SL_PAD_SD3_CMD__SD3_CMD 0x11059
0222 MX6SL_PAD_SD3_CLK__SD3_CLK 0x11059
0223 MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x11059
0224 MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x11059
0225 MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x11059
0226 MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x11059
0227 >;
0228 };
0229
0230 pinctrl_usdhc3_100mhz: usdhc3grp-100mhz {
0231 fsl,pins = <
0232 MX6SL_PAD_SD3_CMD__SD3_CMD 0x170b9
0233 MX6SL_PAD_SD3_CLK__SD3_CLK 0x170b9
0234 MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170b9
0235 MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170b9
0236 MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170b9
0237 MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170b9
0238 >;
0239 };
0240
0241 pinctrl_usdhc3_200mhz: usdhc3grp-200mhz {
0242 fsl,pins = <
0243 MX6SL_PAD_SD3_CMD__SD3_CMD 0x170f9
0244 MX6SL_PAD_SD3_CLK__SD3_CLK 0x170f9
0245 MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170f9
0246 MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170f9
0247 MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170f9
0248 MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170f9
0249 >;
0250 };
0251
0252 pinctrl_usdhc3_sleep: usdhc3grp-sleep {
0253 fsl,pins = <
0254 MX6SL_PAD_SD3_CMD__GPIO5_IO21 0x100c1
0255 MX6SL_PAD_SD3_CLK__GPIO5_IO18 0x100c1
0256 MX6SL_PAD_SD3_DAT0__GPIO5_IO19 0x100c1
0257 MX6SL_PAD_SD3_DAT1__GPIO5_IO20 0x100c1
0258 MX6SL_PAD_SD3_DAT2__GPIO5_IO16 0x100c1
0259 MX6SL_PAD_SD3_DAT3__GPIO5_IO17 0x100c1
0260 >;
0261 };
0262
0263 pinctrl_wifi_power: wifi-powergrp {
0264 fsl,pins = <
0265 MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x10059 /* WIFI_3V3_ON */
0266 >;
0267 };
0268
0269 pinctrl_wifi_reset: wifi-resetgrp {
0270 fsl,pins = <
0271 MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x10059 /* WIFI_RST */
0272 >;
0273 };
0274 };
0275
0276 &leds {
0277 pinctrl-names = "default";
0278 pinctrl-0 = <&pinctrl_led>;
0279 };
0280
0281 &lm3630a {
0282 pinctrl-names = "default";
0283 pinctrl-0 = <&pinctrl_lm3630a_bl_gpio>;
0284 };
0285
0286 ®_wifi {
0287 pinctrl-names = "default";
0288 pinctrl-0 = <&pinctrl_wifi_power>;
0289 };
0290
0291 ®_vdd1p1 {
0292 vin-supply = <&dcdc2_reg>;
0293 };
0294
0295 ®_vdd2p5 {
0296 vin-supply = <&dcdc2_reg>;
0297 };
0298
0299 &ricoh619 {
0300 pinctrl-names = "default";
0301 pinctrl-0 = <&pinctrl_ricoh_gpio>;
0302 };
0303
0304 &uart1 {
0305 pinctrl-names = "default";
0306 pinctrl-0 = <&pinctrl_uart1>;
0307 };
0308
0309 &uart4 {
0310 pinctrl-names = "default";
0311 pinctrl-0 = <&pinctrl_uart4>;
0312 };
0313
0314 &usdhc2 {
0315 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
0316 pinctrl-0 = <&pinctrl_usdhc2>;
0317 pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
0318 pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
0319 pinctrl-3 = <&pinctrl_usdhc2_sleep>;
0320 };
0321
0322 &usdhc3 {
0323 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
0324 pinctrl-0 = <&pinctrl_usdhc3>;
0325 pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
0326 pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
0327 pinctrl-3 = <&pinctrl_usdhc3_sleep>;
0328 };
0329
0330 &wifi_pwrseq {
0331 pinctrl-names = "default";
0332 pinctrl-0 = <&pinctrl_wifi_reset>;
0333 };