1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ 2724ba675SRob Herring// Copyright 2019 Jonathan Neuschäfer 3724ba675SRob Herring// 4724ba675SRob Herring// The Kobo Aura e-book reader, model N514. The mainboard is marked as E606F0B. 5724ba675SRob Herring 6724ba675SRob Herring/dts-v1/; 7724ba675SRob Herring#include "imx50.dtsi" 8724ba675SRob Herring#include <dt-bindings/input/input.h> 9724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring model = "Kobo Aura (N514)"; 13724ba675SRob Herring compatible = "kobo,aura", "fsl,imx50"; 14724ba675SRob Herring 15724ba675SRob Herring chosen { 16724ba675SRob Herring stdout-path = "serial1:115200n8"; 17724ba675SRob Herring }; 18724ba675SRob Herring 19724ba675SRob Herring memory@70000000 { 20724ba675SRob Herring device_type = "memory"; 21724ba675SRob Herring reg = <0x70000000 0x10000000>; 22724ba675SRob Herring }; 23724ba675SRob Herring 24724ba675SRob Herring gpio-leds { 25724ba675SRob Herring compatible = "gpio-leds"; 26724ba675SRob Herring pinctrl-names = "default"; 27724ba675SRob Herring pinctrl-0 = <&pinctrl_leds>; 28724ba675SRob Herring 29724ba675SRob Herring led-on { 30724ba675SRob Herring label = "kobo_aura:orange:on"; 31724ba675SRob Herring gpios = <&gpio6 24 GPIO_ACTIVE_LOW>; 32724ba675SRob Herring panic-indicator; 33724ba675SRob Herring }; 34724ba675SRob Herring }; 35724ba675SRob Herring 36724ba675SRob Herring gpio-keys { 37724ba675SRob Herring compatible = "gpio-keys"; 38724ba675SRob Herring pinctrl-names = "default"; 39724ba675SRob Herring pinctrl-0 = <&pinctrl_gpiokeys>; 40724ba675SRob Herring 41724ba675SRob Herring key-power { 42724ba675SRob Herring label = "Power Button"; 43724ba675SRob Herring gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; 44724ba675SRob Herring linux,code = <KEY_POWER>; 45724ba675SRob Herring }; 46724ba675SRob Herring 47724ba675SRob Herring event-hallsensor { 48724ba675SRob Herring label = "Hallsensor"; 49724ba675SRob Herring gpios = <&gpio5 15 GPIO_ACTIVE_LOW>; 50724ba675SRob Herring linux,code = <KEY_RESERVED>; 51724ba675SRob Herring linux,input-type = <EV_SW>; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring event-frontlight { 55724ba675SRob Herring label = "Frontlight"; 56724ba675SRob Herring gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; 57724ba675SRob Herring linux,code = <KEY_DISPLAYTOGGLE>; 58724ba675SRob Herring }; 59724ba675SRob Herring }; 60724ba675SRob Herring 61724ba675SRob Herring sd2_pwrseq: pwrseq { 62724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 63724ba675SRob Herring pinctrl-names = "default"; 64724ba675SRob Herring pinctrl-0 = <&pinctrl_sd2_reset>; 65724ba675SRob Herring reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; 66724ba675SRob Herring }; 67724ba675SRob Herring 68724ba675SRob Herring sd2_vmmc: gpio-regulator { 69724ba675SRob Herring compatible = "regulator-gpio"; 70724ba675SRob Herring pinctrl-names = "default"; 71724ba675SRob Herring pinctrl-0 = <&pinctrl_sd2_vmmc>; 72724ba675SRob Herring regulator-name = "vmmc"; 73724ba675SRob Herring states = <3300000 0>; 74724ba675SRob Herring regulator-min-microvolt = <3300000>; 75724ba675SRob Herring regulator-max-microvolt = <3300000>; 76*e3f25ce4SKrzysztof Kozlowski enable-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; 77724ba675SRob Herring startup-delay-us = <100000>; 78724ba675SRob Herring }; 79724ba675SRob Herring}; 80724ba675SRob Herring 81724ba675SRob Herring&esdhc1 { 82724ba675SRob Herring pinctrl-names = "default"; 83724ba675SRob Herring pinctrl-0 = <&pinctrl_sd1>; 84724ba675SRob Herring max-frequency = <50000000>; 85724ba675SRob Herring bus-width = <4>; 86724ba675SRob Herring cd-gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; 87724ba675SRob Herring disable-wp; 88724ba675SRob Herring status = "okay"; 89724ba675SRob Herring 90724ba675SRob Herring /* External µSD card */ 91724ba675SRob Herring}; 92724ba675SRob Herring 93724ba675SRob Herring&esdhc2 { 94724ba675SRob Herring pinctrl-names = "default"; 95724ba675SRob Herring pinctrl-0 = <&pinctrl_sd2>; 96724ba675SRob Herring bus-width = <4>; 97724ba675SRob Herring max-frequency = <50000000>; 98724ba675SRob Herring disable-wp; 99724ba675SRob Herring mmc-pwrseq = <&sd2_pwrseq>; 100724ba675SRob Herring vmmc-supply = <&sd2_vmmc>; 101724ba675SRob Herring status = "okay"; 102724ba675SRob Herring 103724ba675SRob Herring /* CyberTan WC121 SDIO WiFi (BCM43362) */ 104724ba675SRob Herring}; 105724ba675SRob Herring 106724ba675SRob Herring&esdhc3 { 107724ba675SRob Herring pinctrl-names = "default"; 108724ba675SRob Herring pinctrl-0 = <&pinctrl_sd3>; 109724ba675SRob Herring bus-width = <8>; 110724ba675SRob Herring non-removable; 111724ba675SRob Herring max-frequency = <50000000>; 112724ba675SRob Herring disable-wp; 113724ba675SRob Herring status = "okay"; 114724ba675SRob Herring 115724ba675SRob Herring /* Internal eMMC */ 116724ba675SRob Herring}; 117724ba675SRob Herring 118724ba675SRob Herring&i2c1 { 119724ba675SRob Herring pinctrl-names = "default"; 120724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c1>; 121724ba675SRob Herring status = "okay"; 122724ba675SRob Herring 123724ba675SRob Herring touchscreen@15 { 124724ba675SRob Herring reg = <0x15>; 125724ba675SRob Herring compatible = "elan,ektf2132"; 126724ba675SRob Herring pinctrl-names = "default"; 127724ba675SRob Herring pinctrl-0 = <&pinctrl_ts>; 128724ba675SRob Herring power-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; 129724ba675SRob Herring interrupts-extended = <&gpio5 13 IRQ_TYPE_EDGE_FALLING>; 130724ba675SRob Herring }; 131724ba675SRob Herring}; 132724ba675SRob Herring 133724ba675SRob Herring&i2c2 { 134724ba675SRob Herring pinctrl-names = "default"; 135724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 136724ba675SRob Herring status = "okay"; 137724ba675SRob Herring 138724ba675SRob Herring /* TODO: TPS65185 PMIC for E Ink at 0x68 */ 139724ba675SRob Herring}; 140724ba675SRob Herring 141724ba675SRob Herring&i2c3 { 142724ba675SRob Herring pinctrl-names = "default"; 143724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 144724ba675SRob Herring status = "okay"; 145724ba675SRob Herring 146724ba675SRob Herring embedded-controller@43 { 147724ba675SRob Herring pinctrl-names = "default"; 148724ba675SRob Herring pinctrl-0 = <&pinctrl_ec>; 149724ba675SRob Herring compatible = "netronix,ntxec"; 150724ba675SRob Herring reg = <0x43>; 151724ba675SRob Herring system-power-controller; 152724ba675SRob Herring interrupts-extended = <&gpio4 11 IRQ_TYPE_EDGE_FALLING>; 153724ba675SRob Herring #pwm-cells = <2>; 154724ba675SRob Herring }; 155724ba675SRob Herring}; 156724ba675SRob Herring 157724ba675SRob Herring&iomuxc { 158724ba675SRob Herring pinctrl_ec: ecgrp { 159724ba675SRob Herring fsl,pins = < 160724ba675SRob Herring MX50_PAD_CSPI_SS0__GPIO4_11 0x0 /* INT */ 161724ba675SRob Herring >; 162724ba675SRob Herring }; 163724ba675SRob Herring 164724ba675SRob Herring pinctrl_gpiokeys: gpiokeysgrp { 165724ba675SRob Herring fsl,pins = < 166724ba675SRob Herring MX50_PAD_CSPI_MISO__GPIO4_10 0x0 167724ba675SRob Herring MX50_PAD_SD2_D7__GPIO5_15 0x0 168724ba675SRob Herring MX50_PAD_KEY_ROW0__GPIO4_1 0x0 169724ba675SRob Herring >; 170724ba675SRob Herring }; 171724ba675SRob Herring 172724ba675SRob Herring pinctrl_i2c1: i2c1grp { 173724ba675SRob Herring fsl,pins = < 174724ba675SRob Herring MX50_PAD_I2C1_SCL__I2C1_SCL 0x400001fd 175724ba675SRob Herring MX50_PAD_I2C1_SDA__I2C1_SDA 0x400001fd 176724ba675SRob Herring >; 177724ba675SRob Herring }; 178724ba675SRob Herring 179724ba675SRob Herring pinctrl_i2c2: i2c2grp { 180724ba675SRob Herring fsl,pins = < 181724ba675SRob Herring MX50_PAD_I2C2_SCL__I2C2_SCL 0x400001fd 182724ba675SRob Herring MX50_PAD_I2C2_SDA__I2C2_SDA 0x400001fd 183724ba675SRob Herring >; 184724ba675SRob Herring }; 185724ba675SRob Herring 186724ba675SRob Herring pinctrl_i2c3: i2c3grp { 187724ba675SRob Herring fsl,pins = < 188724ba675SRob Herring MX50_PAD_I2C3_SCL__I2C3_SCL 0x400001fd 189724ba675SRob Herring MX50_PAD_I2C3_SDA__I2C3_SDA 0x400001fd 190724ba675SRob Herring >; 191724ba675SRob Herring }; 192724ba675SRob Herring 193724ba675SRob Herring pinctrl_leds: ledsgrp { 194724ba675SRob Herring fsl,pins = < 195724ba675SRob Herring MX50_PAD_PWM1__GPIO6_24 0x0 196724ba675SRob Herring >; 197724ba675SRob Herring }; 198724ba675SRob Herring 199724ba675SRob Herring pinctrl_sd1: sd1grp { 200724ba675SRob Herring fsl,pins = < 201724ba675SRob Herring MX50_PAD_SD1_CMD__ESDHC1_CMD 0x1e4 202724ba675SRob Herring MX50_PAD_SD1_CLK__ESDHC1_CLK 0xd4 203724ba675SRob Herring MX50_PAD_SD1_D0__ESDHC1_DAT0 0x1d4 204724ba675SRob Herring MX50_PAD_SD1_D1__ESDHC1_DAT1 0x1d4 205724ba675SRob Herring MX50_PAD_SD1_D2__ESDHC1_DAT2 0x1d4 206724ba675SRob Herring MX50_PAD_SD1_D3__ESDHC1_DAT3 0x1d4 207724ba675SRob Herring 208724ba675SRob Herring MX50_PAD_SD2_CD__GPIO5_17 0x0 209724ba675SRob Herring >; 210724ba675SRob Herring }; 211724ba675SRob Herring 212724ba675SRob Herring pinctrl_sd2: sd2grp { 213724ba675SRob Herring fsl,pins = < 214724ba675SRob Herring MX50_PAD_SD2_CMD__ESDHC2_CMD 0x1e4 215724ba675SRob Herring MX50_PAD_SD2_CLK__ESDHC2_CLK 0xd4 216724ba675SRob Herring MX50_PAD_SD2_D0__ESDHC2_DAT0 0x1d4 217724ba675SRob Herring MX50_PAD_SD2_D1__ESDHC2_DAT1 0x1d4 218724ba675SRob Herring MX50_PAD_SD2_D2__ESDHC2_DAT2 0x1d4 219724ba675SRob Herring MX50_PAD_SD2_D3__ESDHC2_DAT3 0x1d4 220724ba675SRob Herring >; 221724ba675SRob Herring }; 222724ba675SRob Herring 223724ba675SRob Herring pinctrl_sd2_reset: sd2-resetgrp { 224724ba675SRob Herring fsl,pins = < 225724ba675SRob Herring MX50_PAD_ECSPI2_MOSI__GPIO4_17 0x0 226724ba675SRob Herring >; 227724ba675SRob Herring }; 228724ba675SRob Herring 229724ba675SRob Herring pinctrl_sd2_vmmc: sd2-vmmcgrp { 230724ba675SRob Herring fsl,pins = < 231724ba675SRob Herring MX50_PAD_ECSPI1_SCLK__GPIO4_12 0x0 232724ba675SRob Herring >; 233724ba675SRob Herring }; 234724ba675SRob Herring 235724ba675SRob Herring pinctrl_sd3: sd3grp { 236724ba675SRob Herring fsl,pins = < 237724ba675SRob Herring MX50_PAD_SD3_CMD__ESDHC3_CMD 0x1e4 238724ba675SRob Herring MX50_PAD_SD3_CLK__ESDHC3_CLK 0xd4 239724ba675SRob Herring MX50_PAD_SD3_D0__ESDHC3_DAT0 0x1d4 240724ba675SRob Herring MX50_PAD_SD3_D1__ESDHC3_DAT1 0x1d4 241724ba675SRob Herring MX50_PAD_SD3_D2__ESDHC3_DAT2 0x1d4 242724ba675SRob Herring MX50_PAD_SD3_D3__ESDHC3_DAT3 0x1d4 243724ba675SRob Herring MX50_PAD_SD3_D4__ESDHC3_DAT4 0x1d4 244724ba675SRob Herring MX50_PAD_SD3_D5__ESDHC3_DAT5 0x1d4 245724ba675SRob Herring MX50_PAD_SD3_D6__ESDHC3_DAT6 0x1d4 246724ba675SRob Herring MX50_PAD_SD3_D7__ESDHC3_DAT7 0x1d4 247724ba675SRob Herring >; 248724ba675SRob Herring }; 249724ba675SRob Herring 250724ba675SRob Herring pinctrl_ts: tsgrp { 251724ba675SRob Herring fsl,pins = < 252724ba675SRob Herring MX50_PAD_CSPI_MOSI__GPIO4_9 0x0 253724ba675SRob Herring MX50_PAD_SD2_D5__GPIO5_13 0x0 254724ba675SRob Herring >; 255724ba675SRob Herring }; 256724ba675SRob Herring 257724ba675SRob Herring pinctrl_uart2: uart2grp { 258724ba675SRob Herring fsl,pins = < 259724ba675SRob Herring MX50_PAD_UART2_TXD__UART2_TXD_MUX 0x1e4 260724ba675SRob Herring MX50_PAD_UART2_RXD__UART2_RXD_MUX 0x1e4 261724ba675SRob Herring >; 262724ba675SRob Herring }; 263724ba675SRob Herring 264724ba675SRob Herring pinctrl_usbphy: usbphygrp { 265724ba675SRob Herring fsl,pins = < 266724ba675SRob Herring MX50_PAD_ECSPI2_SS0__GPIO4_19 0x0 267724ba675SRob Herring >; 268724ba675SRob Herring }; 269724ba675SRob Herring}; 270724ba675SRob Herring 271724ba675SRob Herring&uart2 { 272724ba675SRob Herring pinctrl-names = "default"; 273724ba675SRob Herring pinctrl-0 = <&pinctrl_uart2>; 274724ba675SRob Herring status = "okay"; 275724ba675SRob Herring}; 276724ba675SRob Herring 277724ba675SRob Herring&usbotg { 278724ba675SRob Herring phy_type = "utmi_wide"; 279724ba675SRob Herring dr_mode = "peripheral"; 280724ba675SRob Herring status = "okay"; 281724ba675SRob Herring}; 282724ba675SRob Herring 283724ba675SRob Herring&usbphy0 { 284724ba675SRob Herring pinctrl-names = "default"; 285724ba675SRob Herring pinctrl-0 = <&pinctrl_usbphy>; 286724ba675SRob Herring vbus-detect-gpio = <&gpio4 19 GPIO_ACTIVE_LOW>; 287724ba675SRob Herring}; 288