Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0)
0002 /*
0003  * Device tree for the Tolino Vision 5 ebook reader
0004  *
0005  * Name on mainboard is: 37NB-E70K0M+6A3
0006  * Serials start with: E70K02 (a number also seen in
0007  * vendor kernel sources)
0008  *
0009  * This mainboard seems to be equipped with different SoCs.
0010  * In the Tolino Vision 5 ebook reader it is a i.MX6SL
0011  *
0012  * Copyright 2021 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 "e70k02.dtsi"
0023 
0024 / {
0025         model = "Tolino Vision 5";
0026         compatible = "kobo,tolino-vision5", "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_FEC_CRS_DV__GPIO4_IO25        0x17059 /* PWR_SW */
0058                         MX6SL_PAD_FEC_MDC__GPIO4_IO23   0x17059 /* HALL_EN */
0059                         MX6SL_PAD_KEY_COL4__GPIO4_IO00          0x17059 /* PAGE_UP */
0060                         MX6SL_PAD_KEY_COL5__GPIO4_IO02          0x17059 /* PAGE_DOWN */
0061                 >;
0062         };
0063 
0064         pinctrl_hog: hoggrp {
0065                 fsl,pins = <
0066                         MX6SL_PAD_LCD_DAT1__GPIO2_IO21  0x79
0067                         MX6SL_PAD_LCD_DAT4__GPIO2_IO24  0x79
0068                         MX6SL_PAD_LCD_DAT5__GPIO2_IO25  0x79
0069                         MX6SL_PAD_LCD_DAT6__GPIO2_IO26  0x79
0070                         MX6SL_PAD_LCD_DAT7__GPIO2_IO27  0x79
0071                         MX6SL_PAD_LCD_DAT8__GPIO2_IO28  0x79
0072                         MX6SL_PAD_LCD_DAT9__GPIO2_IO29  0x79
0073                         MX6SL_PAD_LCD_DAT10__GPIO2_IO30 0x79
0074                         MX6SL_PAD_LCD_DAT11__GPIO2_IO31 0x79
0075                         MX6SL_PAD_LCD_DAT12__GPIO3_IO00 0x79
0076                         MX6SL_PAD_LCD_DAT13__GPIO3_IO01 0x79
0077                         MX6SL_PAD_LCD_DAT14__GPIO3_IO02 0x79
0078                         MX6SL_PAD_LCD_DAT15__GPIO3_IO03 0x79
0079                         MX6SL_PAD_LCD_DAT16__GPIO3_IO04 0x79
0080                         MX6SL_PAD_LCD_DAT17__GPIO3_IO05 0x79
0081                         MX6SL_PAD_LCD_DAT18__GPIO3_IO06 0x79
0082                         MX6SL_PAD_LCD_DAT19__GPIO3_IO07 0x79
0083                         MX6SL_PAD_LCD_DAT20__GPIO3_IO08 0x79
0084                         MX6SL_PAD_LCD_DAT21__GPIO3_IO09 0x79
0085                         MX6SL_PAD_LCD_DAT22__GPIO3_IO10 0x79
0086                         MX6SL_PAD_LCD_DAT23__GPIO3_IO11 0x79
0087                         MX6SL_PAD_LCD_CLK__GPIO2_IO15           0x79
0088                         MX6SL_PAD_LCD_ENABLE__GPIO2_IO16        0x79
0089                         MX6SL_PAD_LCD_HSYNC__GPIO2_IO17 0x79
0090                         MX6SL_PAD_LCD_VSYNC__GPIO2_IO18 0x79
0091                         MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x79
0092                         MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21        0x79
0093                         MX6SL_PAD_FEC_REF_CLK__GPIO4_IO26       0x79
0094                         MX6SL_PAD_KEY_COL3__GPIO3_IO30          0x79
0095                         MX6SL_PAD_KEY_ROW7__GPIO4_IO07          0x79
0096                         MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13       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_FEC_RXD0__GPIO4_IO17  0x10059
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_FEC_MDIO__GPIO4_IO20          0x1b8b1 /* ricoh619 chg */
0150                         MX6SL_PAD_FEC_RX_ER__GPIO4_IO19         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_usbotg1: usbotg1grp {
0163                 fsl,pins = <
0164                         MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
0165                 >;
0166         };
0167 
0168         pinctrl_usdhc1: usdhc1grp {
0169                 fsl,pins = <
0170                         MX6SL_PAD_SD1_CMD__SD1_CMD      0x17059
0171                         MX6SL_PAD_SD1_CLK__SD1_CLK      0x17059
0172                         MX6SL_PAD_SD1_DAT0__SD1_DATA0   0x17059
0173                         MX6SL_PAD_SD1_DAT1__SD1_DATA1   0x17059
0174                         MX6SL_PAD_SD1_DAT2__SD1_DATA2   0x17059
0175                         MX6SL_PAD_SD1_DAT3__SD1_DATA3   0x17059
0176                         MX6SL_PAD_SD1_DAT4__SD1_DATA4   0x17059
0177                         MX6SL_PAD_SD1_DAT5__SD1_DATA5   0x17059
0178                         MX6SL_PAD_SD1_DAT6__SD1_DATA6   0x17059
0179                         MX6SL_PAD_SD1_DAT7__SD1_DATA7   0x17059
0180                 >;
0181         };
0182 
0183         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
0184                 fsl,pins = <
0185                         MX6SL_PAD_SD1_CMD__SD1_CMD      0x170b9
0186                         MX6SL_PAD_SD1_CLK__SD1_CLK      0x170b9
0187                         MX6SL_PAD_SD1_DAT0__SD1_DATA0   0x170b9
0188                         MX6SL_PAD_SD1_DAT1__SD1_DATA1   0x170b9
0189                         MX6SL_PAD_SD1_DAT2__SD1_DATA2   0x170b9
0190                         MX6SL_PAD_SD1_DAT3__SD1_DATA3   0x170b9
0191                         MX6SL_PAD_SD1_DAT4__SD1_DATA4   0x170b9
0192                         MX6SL_PAD_SD1_DAT5__SD1_DATA5   0x170b9
0193                         MX6SL_PAD_SD1_DAT6__SD1_DATA6   0x170b9
0194                         MX6SL_PAD_SD1_DAT7__SD1_DATA7   0x170b9
0195                 >;
0196         };
0197 
0198         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
0199                 fsl,pins = <
0200                         MX6SL_PAD_SD1_CMD__SD1_CMD      0x170f9
0201                         MX6SL_PAD_SD1_CLK__SD1_CLK      0x170f9
0202                         MX6SL_PAD_SD1_DAT0__SD1_DATA0   0x170f9
0203                         MX6SL_PAD_SD1_DAT1__SD1_DATA1   0x170f9
0204                         MX6SL_PAD_SD1_DAT2__SD1_DATA2   0x170f9
0205                         MX6SL_PAD_SD1_DAT3__SD1_DATA3   0x170f9
0206                         MX6SL_PAD_SD1_DAT4__SD1_DATA4   0x170b9
0207                         MX6SL_PAD_SD1_DAT5__SD1_DATA5   0x170b9
0208                         MX6SL_PAD_SD1_DAT6__SD1_DATA6   0x170b9
0209                         MX6SL_PAD_SD1_DAT7__SD1_DATA7   0x170b9
0210                 >;
0211         };
0212 
0213         pinctrl_usdhc1_sleep: usdhc1-sleepgrp {
0214                 fsl,pins = <
0215                         MX6SL_PAD_SD1_CMD__SD1_CMD      0x10059
0216                         MX6SL_PAD_SD1_CLK__SD1_CLK      0x10059
0217                         MX6SL_PAD_SD1_DAT0__SD1_DATA0   0x10059
0218                         MX6SL_PAD_SD1_DAT1__SD1_DATA1   0x10059
0219                         MX6SL_PAD_SD1_DAT2__SD1_DATA2   0x10059
0220                         MX6SL_PAD_SD1_DAT3__SD1_DATA3   0x10059
0221                         MX6SL_PAD_SD1_DAT4__SD1_DATA4   0x10059
0222                         MX6SL_PAD_SD1_DAT5__SD1_DATA5   0x10059
0223                         MX6SL_PAD_SD1_DAT6__SD1_DATA6   0x10059
0224                         MX6SL_PAD_SD1_DAT7__SD1_DATA7   0x10059
0225                 >;
0226         };
0227 
0228         pinctrl_usdhc3: usdhc3grp {
0229                 fsl,pins = <
0230                         MX6SL_PAD_SD3_CMD__SD3_CMD      0x11059
0231                         MX6SL_PAD_SD3_CLK__SD3_CLK      0x11059
0232                         MX6SL_PAD_SD3_DAT0__SD3_DATA0   0x11059
0233                         MX6SL_PAD_SD3_DAT1__SD3_DATA1   0x11059
0234                         MX6SL_PAD_SD3_DAT2__SD3_DATA2   0x11059
0235                         MX6SL_PAD_SD3_DAT3__SD3_DATA3   0x11059
0236                 >;
0237         };
0238 
0239         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
0240                 fsl,pins = <
0241                         MX6SL_PAD_SD3_CMD__SD3_CMD      0x170b9
0242                         MX6SL_PAD_SD3_CLK__SD3_CLK      0x170b9
0243                         MX6SL_PAD_SD3_DAT0__SD3_DATA0   0x170b9
0244                         MX6SL_PAD_SD3_DAT1__SD3_DATA1   0x170b9
0245                         MX6SL_PAD_SD3_DAT2__SD3_DATA2   0x170b9
0246                         MX6SL_PAD_SD3_DAT3__SD3_DATA3   0x170b9
0247                 >;
0248         };
0249 
0250         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
0251                 fsl,pins = <
0252                         MX6SL_PAD_SD3_CMD__SD3_CMD      0x170f9
0253                         MX6SL_PAD_SD3_CLK__SD3_CLK      0x170f9
0254                         MX6SL_PAD_SD3_DAT0__SD3_DATA0   0x170f9
0255                         MX6SL_PAD_SD3_DAT1__SD3_DATA1   0x170f9
0256                         MX6SL_PAD_SD3_DAT2__SD3_DATA2   0x170f9
0257                         MX6SL_PAD_SD3_DAT3__SD3_DATA3   0x170f9
0258                 >;
0259         };
0260 
0261         pinctrl_usdhc3_sleep: usdhc3-sleepgrp {
0262                 fsl,pins = <
0263                         MX6SL_PAD_SD3_CMD__GPIO5_IO21   0x100c1
0264                         MX6SL_PAD_SD3_CLK__GPIO5_IO18   0x100c1
0265                         MX6SL_PAD_SD3_DAT0__GPIO5_IO19  0x100c1
0266                         MX6SL_PAD_SD3_DAT1__GPIO5_IO20  0x100c1
0267                         MX6SL_PAD_SD3_DAT2__GPIO5_IO16  0x100c1
0268                         MX6SL_PAD_SD3_DAT3__GPIO5_IO17  0x100c1
0269                 >;
0270         };
0271 
0272         pinctrl_wifi_power: wifi-powergrp {
0273                 fsl,pins = <
0274                         MX6SL_PAD_SD2_DAT6__GPIO4_IO29  0x10059  /* WIFI_3V3_ON */
0275                 >;
0276         };
0277 
0278         pinctrl_wifi_reset: wifi-resetgrp {
0279                 fsl,pins = <
0280                         MX6SL_PAD_SD2_DAT7__GPIO5_IO00  0x10059 /* WIFI_RST */
0281                 >;
0282         };
0283 };
0284 
0285 &leds {
0286         pinctrl-names = "default";
0287         pinctrl-0 = <&pinctrl_led>;
0288 };
0289 
0290 &lm3630a {
0291         pinctrl-names = "default";
0292         pinctrl-0 = <&pinctrl_lm3630a_bl_gpio>;
0293 };
0294 
0295 &reg_wifi {
0296         pinctrl-names = "default";
0297         pinctrl-0 = <&pinctrl_wifi_power>;
0298 };
0299 
0300 &reg_vdd1p1 {
0301         vin-supply = <&dcdc2_reg>;
0302 };
0303 
0304 &reg_vdd2p5 {
0305         vin-supply = <&dcdc2_reg>;
0306 };
0307 
0308 &reg_arm {
0309         vin-supply = <&dcdc3_reg>;
0310 };
0311 
0312 &reg_soc {
0313         vin-supply = <&dcdc1_reg>;
0314 };
0315 
0316 &reg_pu {
0317         vin-supply = <&dcdc1_reg>;
0318 };
0319 
0320 &ricoh619 {
0321         pinctrl-names = "default";
0322         pinctrl-0 = <&pinctrl_ricoh_gpio>;
0323 };
0324 
0325 &uart1 {
0326         pinctrl-names = "default";
0327         pinctrl-0 = <&pinctrl_uart1>;
0328 };
0329 
0330 &usdhc1 {
0331         pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
0332         pinctrl-0 = <&pinctrl_usdhc1>;
0333         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
0334         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
0335         pinctrl-3 = <&pinctrl_usdhc1_sleep>;
0336 };
0337 
0338 &usdhc3 {
0339         pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
0340         pinctrl-0 = <&pinctrl_usdhc3>;
0341         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
0342         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
0343         pinctrl-3 = <&pinctrl_usdhc3_sleep>;
0344 };
0345 
0346 &wifi_pwrseq {
0347         pinctrl-names = "default";
0348         pinctrl-0 = <&pinctrl_wifi_reset>;
0349 };