Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 // Copyright 2019 Jonathan Neuschäfer
0003 //
0004 // The Kobo Aura e-book reader, model N514. The mainboard is marked as E606F0B.
0005 
0006 /dts-v1/;
0007 #include "imx50.dtsi"
0008 #include <dt-bindings/input/input.h>
0009 #include <dt-bindings/interrupt-controller/irq.h>
0010 
0011 / {
0012         model = "Kobo Aura (N514)";
0013         compatible = "kobo,aura", "fsl,imx50";
0014 
0015         chosen {
0016                 stdout-path = "serial1:115200n8";
0017         };
0018 
0019         memory@70000000 {
0020                 device_type = "memory";
0021                 reg = <0x70000000 0x10000000>;
0022         };
0023 
0024         gpio-leds {
0025                 compatible = "gpio-leds";
0026                 pinctrl-names = "default";
0027                 pinctrl-0 = <&pinctrl_leds>;
0028 
0029                 on {
0030                         label = "kobo_aura:orange:on";
0031                         gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
0032                         panic-indicator;
0033                 };
0034         };
0035 
0036         gpio-keys {
0037                 compatible = "gpio-keys";
0038                 pinctrl-names = "default";
0039                 pinctrl-0 = <&pinctrl_gpiokeys>;
0040 
0041                 power {
0042                         label = "Power Button";
0043                         gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
0044                         linux,code = <KEY_POWER>;
0045                 };
0046 
0047                 hallsensor {
0048                         label = "Hallsensor";
0049                         gpios = <&gpio5 15 GPIO_ACTIVE_LOW>;
0050                         linux,code = <KEY_RESERVED>;
0051                         linux,input-type = <EV_SW>;
0052                 };
0053 
0054                 frontlight {
0055                         label = "Frontlight";
0056                         gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;
0057                         linux,code = <KEY_DISPLAYTOGGLE>;
0058                 };
0059         };
0060 
0061         sd2_pwrseq: pwrseq {
0062                 compatible = "mmc-pwrseq-simple";
0063                 pinctrl-names = "default";
0064                 pinctrl-0 = <&pinctrl_sd2_reset>;
0065                 reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
0066         };
0067 
0068         sd2_vmmc: gpio-regulator {
0069                 compatible = "regulator-gpio";
0070                 pinctrl-names = "default";
0071                 pinctrl-0 = <&pinctrl_sd2_vmmc>;
0072                 regulator-name = "vmmc";
0073                 states = <3300000 0>;
0074                 regulator-min-microvolt = <3300000>;
0075                 regulator-max-microvolt = <3300000>;
0076                 enable-gpio = <&gpio4 12 GPIO_ACTIVE_LOW>;
0077                 startup-delay-us = <100000>;
0078         };
0079 };
0080 
0081 &esdhc1 {
0082         pinctrl-names = "default";
0083         pinctrl-0 = <&pinctrl_sd1>;
0084         max-frequency = <50000000>;
0085         bus-width = <4>;
0086         cd-gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
0087         disable-wp;
0088         status = "okay";
0089 
0090         /* External µSD card */
0091 };
0092 
0093 &esdhc2 {
0094         pinctrl-names = "default";
0095         pinctrl-0 = <&pinctrl_sd2>;
0096         bus-width = <4>;
0097         max-frequency = <50000000>;
0098         disable-wp;
0099         mmc-pwrseq = <&sd2_pwrseq>;
0100         vmmc-supply = <&sd2_vmmc>;
0101         status = "okay";
0102 
0103         /* CyberTan WC121 SDIO WiFi (BCM43362) */
0104 };
0105 
0106 &esdhc3 {
0107         pinctrl-names = "default";
0108         pinctrl-0 = <&pinctrl_sd3>;
0109         bus-width = <8>;
0110         non-removable;
0111         max-frequency = <50000000>;
0112         disable-wp;
0113         status = "okay";
0114 
0115         /* Internal eMMC */
0116 };
0117 
0118 &i2c1 {
0119         pinctrl-names = "default";
0120         pinctrl-0 = <&pinctrl_i2c1>;
0121         status = "okay";
0122 
0123         touchscreen@15 {
0124                 reg = <0x15>;
0125                 compatible = "elan,ektf2132";
0126                 pinctrl-names = "default";
0127                 pinctrl-0 = <&pinctrl_ts>;
0128                 power-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
0129                 interrupts-extended = <&gpio5 13 IRQ_TYPE_EDGE_FALLING>;
0130         };
0131 };
0132 
0133 &i2c2 {
0134         pinctrl-names = "default";
0135         pinctrl-0 = <&pinctrl_i2c2>;
0136         status = "okay";
0137 
0138         /* TODO: TPS65185 PMIC for E Ink at 0x68 */
0139 };
0140 
0141 &i2c3 {
0142         pinctrl-names = "default";
0143         pinctrl-0 = <&pinctrl_i2c3>;
0144         status = "okay";
0145 
0146         embedded-controller@43 {
0147                 pinctrl-names = "default";
0148                 pinctrl-0 = <&pinctrl_ec>;
0149                 compatible = "netronix,ntxec";
0150                 reg = <0x43>;
0151                 system-power-controller;
0152                 interrupts-extended = <&gpio4 11 IRQ_TYPE_EDGE_FALLING>;
0153                 #pwm-cells = <2>;
0154         };
0155 };
0156 
0157 &iomuxc {
0158         pinctrl_ec: ecgrp {
0159                 fsl,pins = <
0160                         MX50_PAD_CSPI_SS0__GPIO4_11             0x0     /* INT */
0161                 >;
0162         };
0163 
0164         pinctrl_gpiokeys: gpiokeysgrp {
0165                 fsl,pins = <
0166                         MX50_PAD_CSPI_MISO__GPIO4_10            0x0
0167                         MX50_PAD_SD2_D7__GPIO5_15               0x0
0168                         MX50_PAD_KEY_ROW0__GPIO4_1              0x0
0169                 >;
0170         };
0171 
0172         pinctrl_i2c1: i2c1grp {
0173                 fsl,pins = <
0174                         MX50_PAD_I2C1_SCL__I2C1_SCL             0x400001fd
0175                         MX50_PAD_I2C1_SDA__I2C1_SDA             0x400001fd
0176                 >;
0177         };
0178 
0179         pinctrl_i2c2: i2c2grp {
0180                 fsl,pins = <
0181                         MX50_PAD_I2C2_SCL__I2C2_SCL             0x400001fd
0182                         MX50_PAD_I2C2_SDA__I2C2_SDA             0x400001fd
0183                 >;
0184         };
0185 
0186         pinctrl_i2c3: i2c3grp {
0187                 fsl,pins = <
0188                         MX50_PAD_I2C3_SCL__I2C3_SCL             0x400001fd
0189                         MX50_PAD_I2C3_SDA__I2C3_SDA             0x400001fd
0190                 >;
0191         };
0192 
0193         pinctrl_leds: ledsgrp {
0194                 fsl,pins = <
0195                         MX50_PAD_PWM1__GPIO6_24                 0x0
0196                 >;
0197         };
0198 
0199         pinctrl_sd1: sd1grp {
0200                 fsl,pins = <
0201                         MX50_PAD_SD1_CMD__ESDHC1_CMD            0x1e4
0202                         MX50_PAD_SD1_CLK__ESDHC1_CLK            0xd4
0203                         MX50_PAD_SD1_D0__ESDHC1_DAT0            0x1d4
0204                         MX50_PAD_SD1_D1__ESDHC1_DAT1            0x1d4
0205                         MX50_PAD_SD1_D2__ESDHC1_DAT2            0x1d4
0206                         MX50_PAD_SD1_D3__ESDHC1_DAT3            0x1d4
0207 
0208                         MX50_PAD_SD2_CD__GPIO5_17               0x0
0209                 >;
0210         };
0211 
0212         pinctrl_sd2: sd2grp {
0213                 fsl,pins = <
0214                         MX50_PAD_SD2_CMD__ESDHC2_CMD            0x1e4
0215                         MX50_PAD_SD2_CLK__ESDHC2_CLK            0xd4
0216                         MX50_PAD_SD2_D0__ESDHC2_DAT0            0x1d4
0217                         MX50_PAD_SD2_D1__ESDHC2_DAT1            0x1d4
0218                         MX50_PAD_SD2_D2__ESDHC2_DAT2            0x1d4
0219                         MX50_PAD_SD2_D3__ESDHC2_DAT3            0x1d4
0220                 >;
0221         };
0222 
0223         pinctrl_sd2_reset: sd2-resetgrp {
0224                 fsl,pins = <
0225                         MX50_PAD_ECSPI2_MOSI__GPIO4_17          0x0
0226                 >;
0227         };
0228 
0229         pinctrl_sd2_vmmc: sd2-vmmcgrp {
0230                 fsl,pins = <
0231                         MX50_PAD_ECSPI1_SCLK__GPIO4_12          0x0
0232                 >;
0233         };
0234 
0235         pinctrl_sd3: sd3grp {
0236                 fsl,pins = <
0237                         MX50_PAD_SD3_CMD__ESDHC3_CMD            0x1e4
0238                         MX50_PAD_SD3_CLK__ESDHC3_CLK            0xd4
0239                         MX50_PAD_SD3_D0__ESDHC3_DAT0            0x1d4
0240                         MX50_PAD_SD3_D1__ESDHC3_DAT1            0x1d4
0241                         MX50_PAD_SD3_D2__ESDHC3_DAT2            0x1d4
0242                         MX50_PAD_SD3_D3__ESDHC3_DAT3            0x1d4
0243                         MX50_PAD_SD3_D4__ESDHC3_DAT4            0x1d4
0244                         MX50_PAD_SD3_D5__ESDHC3_DAT5            0x1d4
0245                         MX50_PAD_SD3_D6__ESDHC3_DAT6            0x1d4
0246                         MX50_PAD_SD3_D7__ESDHC3_DAT7            0x1d4
0247                 >;
0248         };
0249 
0250         pinctrl_ts: tsgrp {
0251                 fsl,pins = <
0252                         MX50_PAD_CSPI_MOSI__GPIO4_9             0x0
0253                         MX50_PAD_SD2_D5__GPIO5_13               0x0
0254                 >;
0255         };
0256 
0257         pinctrl_uart2: uart2grp {
0258                 fsl,pins = <
0259                         MX50_PAD_UART2_TXD__UART2_TXD_MUX       0x1e4
0260                         MX50_PAD_UART2_RXD__UART2_RXD_MUX       0x1e4
0261                 >;
0262         };
0263 
0264         pinctrl_usbphy: usbphygrp {
0265                 fsl,pins = <
0266                         MX50_PAD_ECSPI2_SS0__GPIO4_19           0x0
0267                 >;
0268         };
0269 };
0270 
0271 &uart2 {
0272         pinctrl-names = "default";
0273         pinctrl-0 = <&pinctrl_uart2>;
0274         status = "okay";
0275 };
0276 
0277 &usbotg {
0278         phy_type = "utmi_wide";
0279         dr_mode = "peripheral";
0280         status = "okay";
0281 };
0282 
0283 &usbphy0 {
0284         pinctrl-names = "default";
0285         pinctrl-0 = <&pinctrl_usbphy>;
0286         vbus-detect-gpio = <&gpio4 19 GPIO_ACTIVE_LOW>;
0287 };