1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device tree for the Tolino Shine 3 ebook reader 4*724ba675SRob Herring * 5*724ba675SRob Herring * Name on mainboard is: 37NB-E60K00+4A4 6*724ba675SRob Herring * Serials start with: E60K02 (a number also seen in 7*724ba675SRob Herring * vendor kernel sources) 8*724ba675SRob Herring * 9*724ba675SRob Herring * This mainboard seems to be equipped with different SoCs. 10*724ba675SRob Herring * In the Toline Shine 3 ebook reader it is a i.MX6SL 11*724ba675SRob Herring * 12*724ba675SRob Herring * Copyright 2019 Andreas Kemnade 13*724ba675SRob Herring * based on works 14*724ba675SRob Herring * Copyright 2016 Freescale Semiconductor, Inc. 15*724ba675SRob Herring */ 16*724ba675SRob Herring 17*724ba675SRob Herring/dts-v1/; 18*724ba675SRob Herring 19*724ba675SRob Herring#include <dt-bindings/input/input.h> 20*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 21*724ba675SRob Herring#include "imx6sl.dtsi" 22*724ba675SRob Herring#include "e60k02.dtsi" 23*724ba675SRob Herring 24*724ba675SRob Herring/ { 25*724ba675SRob Herring model = "Tolino Shine 3"; 26*724ba675SRob Herring compatible = "kobo,tolino-shine3", "fsl,imx6sl"; 27*724ba675SRob Herring}; 28*724ba675SRob Herring 29*724ba675SRob Herring&gpio_keys { 30*724ba675SRob Herring pinctrl-names = "default"; 31*724ba675SRob Herring pinctrl-0 = <&pinctrl_gpio_keys>; 32*724ba675SRob Herring}; 33*724ba675SRob Herring 34*724ba675SRob Herring&i2c1 { 35*724ba675SRob Herring pinctrl-names = "default","sleep"; 36*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c1>; 37*724ba675SRob Herring pinctrl-1 = <&pinctrl_i2c1_sleep>; 38*724ba675SRob Herring}; 39*724ba675SRob Herring 40*724ba675SRob Herring&i2c2 { 41*724ba675SRob Herring pinctrl-names = "default","sleep"; 42*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 43*724ba675SRob Herring pinctrl-1 = <&pinctrl_i2c2_sleep>; 44*724ba675SRob Herring}; 45*724ba675SRob Herring 46*724ba675SRob Herring&i2c3 { 47*724ba675SRob Herring pinctrl-names = "default"; 48*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 49*724ba675SRob Herring}; 50*724ba675SRob Herring 51*724ba675SRob Herring&iomuxc { 52*724ba675SRob Herring pinctrl-names = "default"; 53*724ba675SRob Herring pinctrl-0 = <&pinctrl_hog>; 54*724ba675SRob Herring 55*724ba675SRob Herring pinctrl_cyttsp5_gpio: cyttsp5-gpiogrp { 56*724ba675SRob Herring fsl,pins = < 57*724ba675SRob Herring MX6SL_PAD_SD1_DAT3__GPIO5_IO06 0x17059 /* TP_INT */ 58*724ba675SRob Herring MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x10059 /* TP_RST */ 59*724ba675SRob Herring >; 60*724ba675SRob Herring }; 61*724ba675SRob Herring 62*724ba675SRob Herring pinctrl_gpio_keys: gpio-keysgrp { 63*724ba675SRob Herring fsl,pins = < 64*724ba675SRob Herring MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x17059 /* PWR_SW */ 65*724ba675SRob Herring MX6SL_PAD_SD1_DAT4__GPIO5_IO12 0x17059 /* HALL_EN */ 66*724ba675SRob Herring >; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring pinctrl_hog: hoggrp { 70*724ba675SRob Herring fsl,pins = < 71*724ba675SRob Herring MX6SL_PAD_LCD_DAT0__GPIO2_IO20 0x79 72*724ba675SRob Herring MX6SL_PAD_LCD_DAT1__GPIO2_IO21 0x79 73*724ba675SRob Herring MX6SL_PAD_LCD_DAT2__GPIO2_IO22 0x79 74*724ba675SRob Herring MX6SL_PAD_LCD_DAT3__GPIO2_IO23 0x79 75*724ba675SRob Herring MX6SL_PAD_LCD_DAT4__GPIO2_IO24 0x79 76*724ba675SRob Herring MX6SL_PAD_LCD_DAT5__GPIO2_IO25 0x79 77*724ba675SRob Herring MX6SL_PAD_LCD_DAT6__GPIO2_IO26 0x79 78*724ba675SRob Herring MX6SL_PAD_LCD_DAT7__GPIO2_IO27 0x79 79*724ba675SRob Herring MX6SL_PAD_LCD_DAT8__GPIO2_IO28 0x79 80*724ba675SRob Herring MX6SL_PAD_LCD_DAT9__GPIO2_IO29 0x79 81*724ba675SRob Herring MX6SL_PAD_LCD_DAT10__GPIO2_IO30 0x79 82*724ba675SRob Herring MX6SL_PAD_LCD_DAT11__GPIO2_IO31 0x79 83*724ba675SRob Herring MX6SL_PAD_LCD_DAT12__GPIO3_IO00 0x79 84*724ba675SRob Herring MX6SL_PAD_LCD_DAT13__GPIO3_IO01 0x79 85*724ba675SRob Herring MX6SL_PAD_LCD_DAT14__GPIO3_IO02 0x79 86*724ba675SRob Herring MX6SL_PAD_LCD_DAT15__GPIO3_IO03 0x79 87*724ba675SRob Herring MX6SL_PAD_LCD_DAT16__GPIO3_IO04 0x79 88*724ba675SRob Herring MX6SL_PAD_LCD_DAT17__GPIO3_IO05 0x79 89*724ba675SRob Herring MX6SL_PAD_LCD_DAT18__GPIO3_IO06 0x79 90*724ba675SRob Herring MX6SL_PAD_LCD_DAT19__GPIO3_IO07 0x79 91*724ba675SRob Herring MX6SL_PAD_LCD_DAT20__GPIO3_IO08 0x79 92*724ba675SRob Herring MX6SL_PAD_LCD_DAT21__GPIO3_IO09 0x79 93*724ba675SRob Herring MX6SL_PAD_LCD_DAT22__GPIO3_IO10 0x79 94*724ba675SRob Herring MX6SL_PAD_LCD_DAT23__GPIO3_IO11 0x79 95*724ba675SRob Herring MX6SL_PAD_LCD_CLK__GPIO2_IO15 0x79 96*724ba675SRob Herring MX6SL_PAD_LCD_ENABLE__GPIO2_IO16 0x79 97*724ba675SRob Herring MX6SL_PAD_LCD_HSYNC__GPIO2_IO17 0x79 98*724ba675SRob Herring MX6SL_PAD_LCD_VSYNC__GPIO2_IO18 0x79 99*724ba675SRob Herring MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x79 100*724ba675SRob Herring MX6SL_PAD_KEY_COL3__GPIO3_IO30 0x79 101*724ba675SRob Herring MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x79 102*724ba675SRob Herring MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x79 103*724ba675SRob Herring MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x79 104*724ba675SRob Herring >; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring pinctrl_i2c1: i2c1grp { 108*724ba675SRob Herring fsl,pins = < 109*724ba675SRob Herring MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001f8b1 110*724ba675SRob Herring MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x4001f8b1 111*724ba675SRob Herring >; 112*724ba675SRob Herring }; 113*724ba675SRob Herring 114*724ba675SRob Herring pinctrl_i2c1_sleep: i2c1grp-sleep { 115*724ba675SRob Herring fsl,pins = < 116*724ba675SRob Herring MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x400108b1 117*724ba675SRob Herring MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x400108b1 118*724ba675SRob Herring >; 119*724ba675SRob Herring }; 120*724ba675SRob Herring 121*724ba675SRob Herring pinctrl_i2c2: i2c2grp { 122*724ba675SRob Herring fsl,pins = < 123*724ba675SRob Herring MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001f8b1 124*724ba675SRob Herring MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001f8b1 125*724ba675SRob Herring >; 126*724ba675SRob Herring }; 127*724ba675SRob Herring 128*724ba675SRob Herring pinctrl_i2c2_sleep: i2c2grp-sleep { 129*724ba675SRob Herring fsl,pins = < 130*724ba675SRob Herring MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x400108b1 131*724ba675SRob Herring MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x400108b1 132*724ba675SRob Herring >; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring pinctrl_i2c3: i2c3grp { 136*724ba675SRob Herring fsl,pins = < 137*724ba675SRob Herring MX6SL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1 138*724ba675SRob Herring MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1 139*724ba675SRob Herring >; 140*724ba675SRob Herring }; 141*724ba675SRob Herring 142*724ba675SRob Herring pinctrl_led: ledgrp { 143*724ba675SRob Herring fsl,pins = < 144*724ba675SRob Herring MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x17059 145*724ba675SRob Herring >; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring pinctrl_lm3630a_bl_gpio: lm3630a-bl-gpiogrp { 149*724ba675SRob Herring fsl,pins = < 150*724ba675SRob Herring MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059 /* HWEN */ 151*724ba675SRob Herring >; 152*724ba675SRob Herring }; 153*724ba675SRob Herring 154*724ba675SRob Herring pinctrl_ricoh_gpio: ricoh_gpiogrp { 155*724ba675SRob Herring fsl,pins = < 156*724ba675SRob Herring MX6SL_PAD_SD1_CLK__GPIO5_IO15 0x1b8b1 /* ricoh619 chg */ 157*724ba675SRob Herring MX6SL_PAD_SD1_DAT0__GPIO5_IO11 0x1b8b1 /* ricoh619 irq */ 158*724ba675SRob Herring MX6SL_PAD_KEY_COL2__GPIO3_IO28 0x1b8b1 /* ricoh619 bat_low_int */ 159*724ba675SRob Herring >; 160*724ba675SRob Herring }; 161*724ba675SRob Herring 162*724ba675SRob Herring pinctrl_uart1: uart1grp { 163*724ba675SRob Herring fsl,pins = < 164*724ba675SRob Herring MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1 165*724ba675SRob Herring MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1 166*724ba675SRob Herring >; 167*724ba675SRob Herring }; 168*724ba675SRob Herring 169*724ba675SRob Herring pinctrl_uart4: uart4grp { 170*724ba675SRob Herring fsl,pins = < 171*724ba675SRob Herring MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1 172*724ba675SRob Herring MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1 173*724ba675SRob Herring >; 174*724ba675SRob Herring }; 175*724ba675SRob Herring 176*724ba675SRob Herring pinctrl_usbotg1: usbotg1grp { 177*724ba675SRob Herring fsl,pins = < 178*724ba675SRob Herring MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059 179*724ba675SRob Herring >; 180*724ba675SRob Herring }; 181*724ba675SRob Herring 182*724ba675SRob Herring pinctrl_usdhc2: usdhc2grp { 183*724ba675SRob Herring fsl,pins = < 184*724ba675SRob Herring MX6SL_PAD_SD2_CMD__SD2_CMD 0x17059 185*724ba675SRob Herring MX6SL_PAD_SD2_CLK__SD2_CLK 0x13059 186*724ba675SRob Herring MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x17059 187*724ba675SRob Herring MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x17059 188*724ba675SRob Herring MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x17059 189*724ba675SRob Herring MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x17059 190*724ba675SRob Herring >; 191*724ba675SRob Herring }; 192*724ba675SRob Herring 193*724ba675SRob Herring pinctrl_usdhc2_100mhz: usdhc2grp-100mhz { 194*724ba675SRob Herring fsl,pins = < 195*724ba675SRob Herring MX6SL_PAD_SD2_CMD__SD2_CMD 0x170b9 196*724ba675SRob Herring MX6SL_PAD_SD2_CLK__SD2_CLK 0x130b9 197*724ba675SRob Herring MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 198*724ba675SRob Herring MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 199*724ba675SRob Herring MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 200*724ba675SRob Herring MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170b9 201*724ba675SRob Herring >; 202*724ba675SRob Herring }; 203*724ba675SRob Herring 204*724ba675SRob Herring pinctrl_usdhc2_200mhz: usdhc2grp-200mhz { 205*724ba675SRob Herring fsl,pins = < 206*724ba675SRob Herring MX6SL_PAD_SD2_CMD__SD2_CMD 0x170f9 207*724ba675SRob Herring MX6SL_PAD_SD2_CLK__SD2_CLK 0x130f9 208*724ba675SRob Herring MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 209*724ba675SRob Herring MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 210*724ba675SRob Herring MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 211*724ba675SRob Herring MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170f9 212*724ba675SRob Herring >; 213*724ba675SRob Herring }; 214*724ba675SRob Herring 215*724ba675SRob Herring pinctrl_usdhc2_sleep: usdhc2grp-sleep { 216*724ba675SRob Herring fsl,pins = < 217*724ba675SRob Herring MX6SL_PAD_SD2_CMD__GPIO5_IO04 0x100f9 218*724ba675SRob Herring MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x100f9 219*724ba675SRob Herring MX6SL_PAD_SD2_DAT0__GPIO5_IO01 0x100f9 220*724ba675SRob Herring MX6SL_PAD_SD2_DAT1__GPIO4_IO30 0x100f9 221*724ba675SRob Herring MX6SL_PAD_SD2_DAT2__GPIO5_IO03 0x100f9 222*724ba675SRob Herring MX6SL_PAD_SD2_DAT3__GPIO4_IO28 0x100f9 223*724ba675SRob Herring >; 224*724ba675SRob Herring }; 225*724ba675SRob Herring 226*724ba675SRob Herring pinctrl_usdhc3: usdhc3grp { 227*724ba675SRob Herring fsl,pins = < 228*724ba675SRob Herring MX6SL_PAD_SD3_CMD__SD3_CMD 0x11059 229*724ba675SRob Herring MX6SL_PAD_SD3_CLK__SD3_CLK 0x11059 230*724ba675SRob Herring MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x11059 231*724ba675SRob Herring MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x11059 232*724ba675SRob Herring MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x11059 233*724ba675SRob Herring MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x11059 234*724ba675SRob Herring >; 235*724ba675SRob Herring }; 236*724ba675SRob Herring 237*724ba675SRob Herring pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { 238*724ba675SRob Herring fsl,pins = < 239*724ba675SRob Herring MX6SL_PAD_SD3_CMD__SD3_CMD 0x170b9 240*724ba675SRob Herring MX6SL_PAD_SD3_CLK__SD3_CLK 0x170b9 241*724ba675SRob Herring MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170b9 242*724ba675SRob Herring MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170b9 243*724ba675SRob Herring MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170b9 244*724ba675SRob Herring MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170b9 245*724ba675SRob Herring >; 246*724ba675SRob Herring }; 247*724ba675SRob Herring 248*724ba675SRob Herring pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { 249*724ba675SRob Herring fsl,pins = < 250*724ba675SRob Herring MX6SL_PAD_SD3_CMD__SD3_CMD 0x170f9 251*724ba675SRob Herring MX6SL_PAD_SD3_CLK__SD3_CLK 0x170f9 252*724ba675SRob Herring MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170f9 253*724ba675SRob Herring MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170f9 254*724ba675SRob Herring MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170f9 255*724ba675SRob Herring MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170f9 256*724ba675SRob Herring >; 257*724ba675SRob Herring }; 258*724ba675SRob Herring 259*724ba675SRob Herring pinctrl_usdhc3_sleep: usdhc3grp-sleep { 260*724ba675SRob Herring fsl,pins = < 261*724ba675SRob Herring MX6SL_PAD_SD3_CMD__GPIO5_IO21 0x100c1 262*724ba675SRob Herring MX6SL_PAD_SD3_CLK__GPIO5_IO18 0x100c1 263*724ba675SRob Herring MX6SL_PAD_SD3_DAT0__GPIO5_IO19 0x100c1 264*724ba675SRob Herring MX6SL_PAD_SD3_DAT1__GPIO5_IO20 0x100c1 265*724ba675SRob Herring MX6SL_PAD_SD3_DAT2__GPIO5_IO16 0x100c1 266*724ba675SRob Herring MX6SL_PAD_SD3_DAT3__GPIO5_IO17 0x100c1 267*724ba675SRob Herring >; 268*724ba675SRob Herring }; 269*724ba675SRob Herring 270*724ba675SRob Herring pinctrl_wifi_power: wifi-powergrp { 271*724ba675SRob Herring fsl,pins = < 272*724ba675SRob Herring MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x10059 /* WIFI_3V3_ON */ 273*724ba675SRob Herring >; 274*724ba675SRob Herring }; 275*724ba675SRob Herring 276*724ba675SRob Herring pinctrl_wifi_reset: wifi-resetgrp { 277*724ba675SRob Herring fsl,pins = < 278*724ba675SRob Herring MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x10059 /* WIFI_RST */ 279*724ba675SRob Herring >; 280*724ba675SRob Herring }; 281*724ba675SRob Herring}; 282*724ba675SRob Herring 283*724ba675SRob Herring&leds { 284*724ba675SRob Herring pinctrl-names = "default"; 285*724ba675SRob Herring pinctrl-0 = <&pinctrl_led>; 286*724ba675SRob Herring}; 287*724ba675SRob Herring 288*724ba675SRob Herring&lm3630a { 289*724ba675SRob Herring pinctrl-names = "default"; 290*724ba675SRob Herring pinctrl-0 = <&pinctrl_lm3630a_bl_gpio>; 291*724ba675SRob Herring}; 292*724ba675SRob Herring 293*724ba675SRob Herring®_wifi { 294*724ba675SRob Herring pinctrl-names = "default"; 295*724ba675SRob Herring pinctrl-0 = <&pinctrl_wifi_power>; 296*724ba675SRob Herring}; 297*724ba675SRob Herring 298*724ba675SRob Herring®_vdd1p1 { 299*724ba675SRob Herring vin-supply = <&dcdc2_reg>; 300*724ba675SRob Herring}; 301*724ba675SRob Herring 302*724ba675SRob Herring®_vdd2p5 { 303*724ba675SRob Herring vin-supply = <&dcdc2_reg>; 304*724ba675SRob Herring}; 305*724ba675SRob Herring 306*724ba675SRob Herring&ricoh619 { 307*724ba675SRob Herring pinctrl-names = "default"; 308*724ba675SRob Herring pinctrl-0 = <&pinctrl_ricoh_gpio>; 309*724ba675SRob Herring}; 310*724ba675SRob Herring 311*724ba675SRob Herring&uart1 { 312*724ba675SRob Herring pinctrl-names = "default"; 313*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart1>; 314*724ba675SRob Herring}; 315*724ba675SRob Herring 316*724ba675SRob Herring&uart4 { 317*724ba675SRob Herring pinctrl-names = "default"; 318*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart4>; 319*724ba675SRob Herring}; 320*724ba675SRob Herring 321*724ba675SRob Herring&usdhc2 { 322*724ba675SRob Herring pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 323*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc2>; 324*724ba675SRob Herring pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 325*724ba675SRob Herring pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 326*724ba675SRob Herring pinctrl-3 = <&pinctrl_usdhc2_sleep>; 327*724ba675SRob Herring}; 328*724ba675SRob Herring 329*724ba675SRob Herring&usdhc3 { 330*724ba675SRob Herring pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 331*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc3>; 332*724ba675SRob Herring pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 333*724ba675SRob Herring pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 334*724ba675SRob Herring pinctrl-3 = <&pinctrl_usdhc3_sleep>; 335*724ba675SRob Herring}; 336*724ba675SRob Herring 337*724ba675SRob Herring&wifi_pwrseq { 338*724ba675SRob Herring pinctrl-names = "default"; 339*724ba675SRob Herring pinctrl-0 = <&pinctrl_wifi_reset>; 340*724ba675SRob Herring}; 341