Back to home page

OSCL-LXR

 
 

    


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 &reg_wifi {
0287         pinctrl-names = "default";
0288         pinctrl-0 = <&pinctrl_wifi_power>;
0289 };
0290 
0291 &reg_vdd1p1 {
0292         vin-supply = <&dcdc2_reg>;
0293 };
0294 
0295 &reg_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 };