i.MX arm device tree update for 6.2:

- New device tree for Kobo Aura 2 E-Boot reader which is built on i.MX6SL
   SoC.
 - Enable backlight and boost support for imx6sl-tolino-shine2hd.
 - Enable CYTTSP5 touchscreen support for E60K02.
 - Enable Silergy SY7636A EPD PMIC on imx7d-remarkable2 epaper tablet.
 - Add watchdog property 'fsl,suspend-in-wait' for i.MX6UL Phytec Phycore
   SoM to avoid watchdog triggering in 'freeze' low power mode.
 - Correct the polarity of AT86RF233 reset line for vf610-zii-dev-rev-c
   board.
 - A bunch of Colibri device tree updates from Marcel Ziswiler and Philippe
   Schenker, correct USBH_PEN property, remove spurious debounce property,
   add USB dual-role switching, and some cosmetic change.
 - Other small and random changes.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4lhQUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7MMQf/f8fspQVkdbGXq3uDZBelUhNjXL7q
 sVV97tI5hh/dxXqQd6oyHGgXGu6vER7UwDKJfYQ3Sq7FwA1CSLD1lNKpMQnB1+f5
 gJgO7SomMzIaDVqtg2NtOIZMnvHT+Sq3P8RC+/uQjLO79eXg60faH1D/FcLpTQij
 mjOhqiFnpnWxZ6IzrhEow27bunppaGUn37dS38Qq9dJGwbjeU5EcctL21Wxl+K5g
 FM9Pf5Ls+869FRnTMNbOPm2oyQZcm2q38+mzWazZslfIyz7A/1oC2iW5ekNK82fb
 YucpOp5U6je+JNHotgy3qCB9dnBZhLpUpkb9n31HU1jPfm8FJ7cB3Btwfg==
 =2F+o
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7hKQACgkQmmx57+YA
 GNm05Q/+NpOrC46ThpBxSPbCQml5mpGZ1Y8la5h5Wx8DSYCxfekqg+f7jU8xUNXN
 82ue4dFNYExZ/b1Uho7/PqmwYw59w4tD3O0SLOCalKfEpFlft38r9YgkS7wCwgca
 73tRJydVPr3ZgpNGKeHv17R1FHIB8GHCT1JgY7llJxWMr5Aw970fowsxB6ffRgy7
 Ptw3Br81Kj9z3ioNMKrgq+yNh8WKaBC43DuldF80jyqnOWHB6QVia3486/pLvTUV
 BDG3LttfTC5kVwlK6KExBVw5/6nm7UJ8jG5bK+S+MXu9w6itX8LuluI2RRJmBEQf
 PyNYlz4ODGvRR47HFesr8M0hv2NefTZy+UI1Zhy27a7PsaW7hGBse+vfqfd6kOKY
 8HR5Jkj3QWjhqSFZCHPgBiWc8gkE7bdqq936aNSXdYyQrHXuGrvkAFDVYUiZZzub
 YLJkdoJeGgaxYPf8387jLyCyVVQuulAu/nMY7zjgManCMsUNG6bOAZ52kNM1DY0Z
 byl4qgBCmpW7uJFJTzY+JHD6SMe05blRjj/zTMeeOuYLcxfaO4Q49xyhvAsaE4F8
 Nsm+glsHrjwRBdH2Vn8gbxbAo/LEzCy0bN0h7kgxWGvFY7i+hJF9E39qfJH7JK4w
 VHZiA214QuOXjmPo67A8OHgDoNSjy/bEMRbhE52EORvmQAE/YgQ=
 =Z4g7
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm device tree update for 6.2:

- New device tree for Kobo Aura 2 E-Boot reader which is built on i.MX6SL
  SoC.
- Enable backlight and boost support for imx6sl-tolino-shine2hd.
- Enable CYTTSP5 touchscreen support for E60K02.
- Enable Silergy SY7636A EPD PMIC on imx7d-remarkable2 epaper tablet.
- Add watchdog property 'fsl,suspend-in-wait' for i.MX6UL Phytec Phycore
  SoM to avoid watchdog triggering in 'freeze' low power mode.
- Correct the polarity of AT86RF233 reset line for vf610-zii-dev-rev-c
  board.
- A bunch of Colibri device tree updates from Marcel Ziswiler and Philippe
  Schenker, correct USBH_PEN property, remove spurious debounce property,
  add USB dual-role switching, and some cosmetic change.
- Other small and random changes.

* tag 'imx-dt-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: colibri-imx6ull: Enable dual-role switching
  ARM: dts: imx: e60k02: Add touchscreen
  ARM: dts: imx6qdl-sabre: Add mmc aliases
  ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode
  ARM: dts: imx7d-remarkable2: Enable silergy,sy7636a
  ARM: dts: imx6sl-tolino-shine2hd: Add backlight boost
  ARM: dts: imx6sl-tolino-shine2hd: Add backlight
  ARM: dts: colibri-imx7: fix confusing naming
  ARM: dts: colibri-imx6ull: add -hog to gpio hogs
  ARM: dts: colibri-imx6ull: enable default peripherals
  ARM: dts: colibri-imx6ull: keep peripherals disabled
  ARM: dts: ls1021: correct indentation
  ARM: dts: vf610-zii-dev-rev-c: fix polarity of at86rf233 reset line
  ARM: dts: imx7-colibri: remove spurious debounce property
  ARM: dts: colibri-imx6: specify usbh_pen gpio being active-low
  ARM: dts: colibri-imx6: move vbus-supply to module level device tree
  ARM: dts: colibri-imx6: usb dual-role switching
  ARM: dts: imx: Add devicetree for Kobo Aura 2

Link: https://lore.kernel.org/r/20221119125733.32719-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2022-11-21 11:08:01 +01:00
commit 4be0308a51
26 changed files with 983 additions and 32 deletions

View File

@ -681,6 +681,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6s-dhcom-drc02.dtb
dtb-$(CONFIG_SOC_IMX6SL) += \
imx6sl-evk.dtb \
imx6sl-kobo-aura2.dtb \
imx6sl-tolino-shine2hd.dtb \
imx6sl-tolino-shine3.dtb \
imx6sl-tolino-vision5.dtb \

View File

@ -104,7 +104,16 @@ &i2c2 {
clock-frequency = <100000>;
status = "okay";
/* TODO: CYTTSP5 touch controller at 0x24 */
touchscreen@24 {
compatible = "cypress,tt21000";
reg = <0x24>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_cyttsp5_gpio>;
interrupt-parent = <&gpio5>;
interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
vdd-supply = <&ldo5_reg>;
};
/* TODO: TPS65185 PMIC for E Ink at 0x68 */

View File

@ -99,7 +99,6 @@ &uart3 {
};
&usbh1 {
vbus-supply = <&reg_usb_host_vbus>;
status = "okay";
};

View File

@ -111,7 +111,6 @@ &uart3 {
};
&usbh1 {
vbus-supply = <&reg_usb_host_vbus>;
status = "okay";
};

View File

@ -138,7 +138,6 @@ &uart3 {
};
&usbh1 {
vbus-supply = <&reg_usb_host_vbus>;
status = "okay";
};

View File

@ -24,6 +24,13 @@ backlight: backlight {
status = "disabled";
};
extcon_usbc_det: usbc-det {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>; /* SODIMM 137 / USBC_DET */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbc_det>;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@ -105,7 +112,7 @@ reg_module_3v3_audio: regulator-module-3v3-audio {
reg_usb_host_vbus: regulator-usb-host-vbus {
compatible = "regulator-fixed";
gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; /* USBH_PEN */
gpio = <&gpio3 31 GPIO_ACTIVE_LOW>; /* SODIMM 129 / USBH_PEN */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_regulator_usbh_pwr>;
regulator-max-microvolt = <5000000>;
@ -670,9 +677,16 @@ &uart3 {
status = "disabled";
};
/* Colibri USBH */
&usbh1 {
vbus-supply = <&reg_usb_host_vbus>;
};
/* Colibri USBC */
&usbotg {
disable-over-current;
dr_mode = "peripheral";
dr_mode = "otg";
extcon = <0>, <&extcon_usbc_det>;
status = "disabled";
};
@ -986,7 +1000,7 @@ MX6QDL_PAD_SD4_DAT2__PWM4_OUT 0x1b0b1
pinctrl_regulator_usbh_pwr: gpioregusbhpwrgrp {
fsl,pins = <
/* USBH_EN */
/* SODIMM 129 / USBH_PEN */
MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x0f058
>;
};
@ -1055,7 +1069,7 @@ MX6QDL_PAD_SD4_CMD__UART3_RX_DATA 0x1b0b1
pinctrl_usbc_det: usbcdetgrp {
fsl,pins = <
/* USBC_DET */
/* SODIMM 137 / USBC_DET */
MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0
/* USBC_DET_OVERWRITE */
MX6QDL_PAD_RGMII_RXC__GPIO6_IO30 0x0f058

View File

@ -14,6 +14,11 @@ chosen {
stdout-path = &uart2;
};
aliases {
mmc0 = &usdhc3;
mmc1 = &usdhc4;
};
memory@10000000 {
device_type = "memory";
reg = <0x10000000 0x40000000>;

View File

@ -0,0 +1,555 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Device tree for the Kobo Aura 2 ebook reader
*
* Name on mainboard is: 37NB-E60QL0+4B1
* Serials start with: E60QL2
*
* Copyright 2022 Andreas Kemnade
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include "imx6sl.dtsi"
/ {
model = "Kobo Aura 2";
compatible = "kobo,aura2", "fsl,imx6sl";
aliases {
mmc0 = &usdhc2;
mmc1 = &usdhc3;
};
chosen {
stdout-path = &uart1;
};
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
key-cover {
label = "Cover";
gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
linux,code = <SW_LID>;
linux,input-type = <EV_SW>;
wakeup-source;
};
key-power {
label = "Power";
gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
wakeup-source;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led>;
led-0 {
label = "koboaura2:white:on";
gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
color = <LED_COLOR_ID_WHITE>;
linux,default-trigger = "timer";
};
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x10000000>;
};
reg_wifi: regulator-wifi {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi_power>;
regulator-name = "SD3_SPWR";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
gpio = <&gpio4 29 GPIO_ACTIVE_LOW>;
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi_reset>;
post-power-on-delay-ms = <20>;
reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
};
};
&i2c1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_sleep>;
status = "okay";
lm3630a: backlight@36 {
compatible = "ti,lm3630a";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lm3630a_bl_gpio>;
reg = <0x36>;
enable-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
led-sources = <0>;
label = "backlight";
default-brightness = <0>;
max-brightness = <255>;
};
};
};
&i2c2 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_i2c2>;
pinctrl-1 = <&pinctrl_i2c2_sleep>;
clock-frequency = <100000>;
status = "okay";
/* eKTF2232 at 0x15 */
/* FP9928 at 0x48 */
};
&i2c3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
clock-frequency = <400000>;
status = "okay";
ricoh619: pmic@32 {
compatible = "ricoh,rc5t619";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ricoh_gpio>;
reg = <0x32>;
interrupt-parent = <&gpio5>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
system-power-controller;
regulators {
dcdc1_reg: DCDC1 {
regulator-name = "DCDC1";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <900000>;
regulator-suspend-min-microvolt = <900000>;
};
};
/* Core3_3V3 */
dcdc2_reg: DCDC2 {
regulator-name = "DCDC2";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <3100000>;
regulator-suspend-min-microvolt = <3100000>;
};
};
dcdc3_reg: DCDC3 {
regulator-name = "DCDC3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <1140000>;
regulator-suspend-min-microvolt = <1140000>;
};
};
/* Core4_1V2 */
dcdc4_reg: DCDC4 {
regulator-name = "DCDC4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <1140000>;
regulator-suspend-min-microvolt = <1140000>;
};
};
/* Core4_1V8 */
dcdc5_reg: DCDC5 {
regulator-name = "DCDC5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <1700000>;
regulator-suspend-min-microvolt = <1700000>;
};
};
/* IR_3V3 */
ldo1_reg: LDO1 {
regulator-name = "LDO1";
regulator-always-on;
regulator-boot-on;
};
/* Core1_3V3 */
ldo2_reg: LDO2 {
regulator-name = "LDO2";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-max-microvolt = <3000000>;
regulator-suspend-min-microvolt = <3000000>;
};
};
/* Core5_1V2 */
ldo3_reg: LDO3 {
regulator-name = "LDO3";
regulator-always-on;
regulator-boot-on;
};
ldo4_reg: LDO4 {
regulator-name = "LDO4";
regulator-boot-on;
};
/* SPD_3V3 */
ldo5_reg: LDO5 {
regulator-name = "LDO5";
regulator-always-on;
regulator-boot-on;
};
/* DDR_0V6 */
ldo6_reg: LDO6 {
regulator-name = "LDO6";
regulator-always-on;
regulator-boot-on;
};
/* VDD_PWM */
ldo7_reg: LDO7 {
regulator-name = "LDO7";
regulator-always-on;
regulator-boot-on;
};
/* ldo_1v8 */
ldo8_reg: LDO8 {
regulator-name = "LDO8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
ldo9_reg: LDO9 {
regulator-name = "LDO9";
regulator-boot-on;
};
ldo10_reg: LDO10 {
regulator-name = "LDO10";
regulator-boot-on;
};
ldortc1_reg: LDORTC1 {
regulator-name = "LDORTC1";
regulator-always-on;
regulator-boot-on;
};
};
};
};
&reg_vdd1p1 {
vin-supply = <&dcdc2_reg>;
};
&reg_vdd2p5 {
vin-supply = <&dcdc2_reg>;
};
&reg_arm {
vin-supply = <&dcdc3_reg>;
};
&reg_soc {
vin-supply = <&dcdc1_reg>;
};
&reg_pu {
vin-supply = <&dcdc1_reg>;
};
&snvs_rtc {
/*
* We are using the RTC in the PMIC, but this one is not disabled
* in imx6sl.dtsi.
*/
status = "disabled";
};
&uart1 {
/* J4, through-holes */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart4 {
/* TP198, next to J4, SMD pads */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
status = "okay";
};
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
pinctrl-0 = <&pinctrl_usdhc2>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
pinctrl-3 = <&pinctrl_usdhc2_sleep>;
non-removable;
status = "okay";
/* internal uSD card */
};
&usdhc3 {
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
pinctrl-0 = <&pinctrl_usdhc3>;
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
pinctrl-3 = <&pinctrl_usdhc3_sleep>;
vmmc-supply = <&reg_wifi>;
mmc-pwrseq = <&wifi_pwrseq>;
cap-power-off-card;
non-removable;
status = "okay";
/*
* RTL8189F SDIO WiFi
*/
};
&usbotg1 {
disable-over-current;
srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};
&iomuxc {
pinctrl_gpio_keys: gpio-keysgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x17059
MX6SL_PAD_SD1_DAT4__GPIO5_IO12 0x17059
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001f8b1
MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x4001f8b1
>;
};
pinctrl_i2c1_sleep: i2c1-sleepgrp {
fsl,pins = <
MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x400108b1
MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x400108b1
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001f8b1
MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001f8b1
>;
};
pinctrl_i2c2_sleep: i2c2-sleepgrp {
fsl,pins = <
MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x400108b1
MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x400108b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6SL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1
MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1
>;
};
pinctrl_led: ledgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x17059
>;
};
pinctrl_lm3630a_bl_gpio: lm3630a-bl-gpiogrp {
fsl,pins = <
MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059 /* HWEN */
>;
};
pinctrl_ricoh_gpio: ricoh-gpiogrp {
fsl,pins = <
MX6SL_PAD_SD1_CLK__GPIO5_IO15 0x1b8b1 /* ricoh619 chg */
MX6SL_PAD_SD1_DAT0__GPIO5_IO11 0x1b8b1 /* ricoh619 irq */
MX6SL_PAD_KEY_COL2__GPIO3_IO28 0x1b8b1 /* ricoh619 bat_low_int */
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1
MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1
MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1
>;
};
pinctrl_usbotg1: usbotg1grp {
fsl,pins = <
MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x17059
MX6SL_PAD_SD2_CLK__SD2_CLK 0x13059
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x17059
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x17059
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x17059
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x17059
>;
};
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x170b9
MX6SL_PAD_SD2_CLK__SD2_CLK 0x130b9
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170b9
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170b9
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170b9
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170b9
>;
};
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x170f9
MX6SL_PAD_SD2_CLK__SD2_CLK 0x130f9
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170f9
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170f9
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170f9
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170f9
>;
};
pinctrl_usdhc2_sleep: usdhc2-sleepgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__GPIO5_IO04 0x100f9
MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x100f9
MX6SL_PAD_SD2_DAT0__GPIO5_IO01 0x100f9
MX6SL_PAD_SD2_DAT1__GPIO4_IO30 0x100f9
MX6SL_PAD_SD2_DAT2__GPIO5_IO03 0x100f9
MX6SL_PAD_SD2_DAT3__GPIO4_IO28 0x100f9
>;
};
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x11059
MX6SL_PAD_SD3_CLK__SD3_CLK 0x11059
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x11059
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x11059
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x11059
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x11059
>;
};
pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x170b9
MX6SL_PAD_SD3_CLK__SD3_CLK 0x170b9
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170b9
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170b9
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170b9
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170b9
>;
};
pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x170f9
MX6SL_PAD_SD3_CLK__SD3_CLK 0x170f9
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170f9
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170f9
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170f9
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170f9
>;
};
pinctrl_usdhc3_sleep: usdhc3-sleepgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__GPIO5_IO21 0x100c1
MX6SL_PAD_SD3_CLK__GPIO5_IO18 0x100c1
MX6SL_PAD_SD3_DAT0__GPIO5_IO19 0x100c1
MX6SL_PAD_SD3_DAT1__GPIO5_IO20 0x100c1
MX6SL_PAD_SD3_DAT2__GPIO5_IO16 0x100c1
MX6SL_PAD_SD3_DAT3__GPIO5_IO17 0x100c1
>;
};
pinctrl_wifi_power: wifi-powergrp {
fsl,pins = <
MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x10059 /* WIFI_3V3_ON */
>;
};
pinctrl_wifi_reset: wifi-resetgrp {
fsl,pins = <
MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x10059 /* WIFI_RST */
>;
};
};

View File

@ -18,6 +18,21 @@ / {
model = "Tolino Shine 2 HD";
compatible = "kobo,tolino-shine2hd", "fsl,imx6sl";
backlight {
compatible = "pwm-backlight";
pwms = <&ec 0 50000>;
power-supply = <&backlight_regulator>;
};
backlight_regulator: regulator-backlight {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_backlight_power>;
regulator-name = "backlight";
gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
chosen {
stdout-path = &uart1;
};
@ -65,6 +80,12 @@ led-0 {
gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "timer";
};
led-1 {
label = "tolinoshine2hd:white:backlightboost";
gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "off";
};
};
memory@80000000 {
@ -299,6 +320,12 @@ &iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
pinctrl_backlight_power: backlight-powergrp {
fsl,pins = <
MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059
>;
};
pinctrl_gpio_keys: gpio-keysgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x17059
@ -383,7 +410,8 @@ MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1
pinctrl_led: ledgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x17059
MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x17059
MX6SL_PAD_EPDC_SDCE2__GPIO1_IO29 0x17059
>;
};

View File

@ -52,6 +52,13 @@ &iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
pinctrl_cyttsp5_gpio: cyttsp5-gpiogrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT3__GPIO5_IO06 0x17059 /* TP_INT */
MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x10059 /* TP_RST */
>;
};
pinctrl_gpio_keys: gpio-keysgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x17059 /* PWR_SW */

View File

@ -62,6 +62,13 @@ &iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
pinctrl_cyttsp5_gpio: cyttsp5-gpiogrp {
fsl,pins = <
MX6SLL_PAD_SD1_DATA3__GPIO5_IO06 0x17059 /* TP_INT */
MX6SLL_PAD_SD1_DATA2__GPIO5_IO13 0x10059 /* TP_RST */
>;
};
pinctrl_gpio_keys: gpio-keysgrp {
fsl,pins = <
MX6SLL_PAD_SD1_DATA1__GPIO5_IO08 0x17059 /* PWR_SW */

View File

@ -102,6 +102,10 @@ &usdhc2 {
status = "disabled";
};
&wdog1 {
fsl,suspend-in-wait;
};
&iomuxc {
pinctrl_enet1: enet1grp {
fsl,pins = <

View File

@ -15,6 +15,46 @@ / {
"fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};
/* PWM <B> */
&pwm5 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};
/* PWM <C> */
&pwm6 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};

View File

@ -12,3 +12,27 @@ / {
model = "Toradex Colibri iMX6ULL 256/512MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx6ull-eval", "fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};

View File

@ -15,13 +15,21 @@ / {
"fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&gpio1 {
/* This turns the LVDS transceiver on */
lvds-power-on {
lvds-power-on-hog {
gpio-hog;
gpios = <14 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
line-name = "LVDS_POWER_ON";
@ -34,7 +42,7 @@ &gpio2 {
* This switches the LVDS transceiver to the single-channel
* output mode.
*/
lvds-ch-mode {
lvds-ch-mode-hog {
gpio-hog;
gpios = <0 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
line-name = "LVDS_CH_MODE";
@ -44,7 +52,7 @@ lvds-ch-mode {
/*
* This switches the LVDS transceiver to the 24-bit RGB mode.
*/
lvds-rgb-mode {
lvds-rgb-mode-hog {
gpio-hog;
gpios = <1 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
line-name = "LVDS_RGB_MODE";
@ -56,10 +64,42 @@ &gpio5 {
/*
* This switches the LVDS transceiver to VESA color mapping mode.
*/
lvds-color-map {
lvds-color-map-hog {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
line-name = "LVDS_COLOR_MAP";
output-low;
};
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};
/* PWM <B> */
&pwm5 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};
/* PWM <C> */
&pwm6 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};

View File

@ -15,6 +15,26 @@ / {
"fsl,imx6ull";
};
&atmel_mxt_ts {
&ad7879_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};

View File

@ -59,7 +59,7 @@ &gpio1 {
* in userspace.
* The same applies to uart1_tx_on.
*/
uart25_tx_on {
uart25_tx_on-hog {
gpio-hog;
gpios = <15 0>;
output-high;
@ -67,7 +67,7 @@ uart25_tx_on {
};
&gpio2 {
uart1_tx_on {
uart1_tx_on-hog {
gpio-hog;
gpios = <7 0>;
output-high;

View File

@ -15,6 +15,46 @@ / {
"fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};
/* PWM <B> */
&pwm5 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};
/* PWM <C> */
&pwm6 {
/* Pin already used by atmel_mxt_ts touchscreen */
status = "disabled";
};

View File

@ -12,3 +12,27 @@ / {
model = "Toradex Colibri iMX6ULL 512MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx6ull-wifi-eval", "fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};

View File

@ -15,13 +15,21 @@ / {
"fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&gpio1 {
/* This turns the LVDS transceiver on */
lvds-power-on {
lvds-power-on-hog {
gpio-hog;
gpios = <14 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
line-name = "LVDS_POWER_ON";
@ -34,7 +42,7 @@ &gpio2 {
* This switches the LVDS transceiver to the single-channel
* output mode.
*/
lvds-ch-mode {
lvds-ch-mode-hog {
gpio-hog;
gpios = <0 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
line-name = "LVDS_CH_MODE";
@ -44,7 +52,7 @@ lvds-ch-mode {
/*
* This switches the LVDS transceiver to the 24-bit RGB mode.
*/
lvds-rgb-mode {
lvds-rgb-mode-hog {
gpio-hog;
gpios = <1 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
line-name = "LVDS_RGB_MODE";
@ -56,10 +64,26 @@ &gpio5 {
/*
* This switches the LVDS transceiver to VESA color mapping mode.
*/
lvds-color-map {
lvds-color-map-hog {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
line-name = "LVDS_COLOR_MAP";
output-low;
};
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
&pwm4 {
status = "okay";
};

View File

@ -15,6 +15,26 @@ / {
"fsl,imx6ull";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&i2c2 {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};

View File

@ -21,7 +21,29 @@ backlight: backlight {
pinctrl-0 = <&pinctrl_gpio_bl_on>;
power-supply = <&reg_3v3>;
pwms = <&pwm4 0 5000000 1>;
status = "okay";
status = "disabled";
};
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_snvs_usbc_det>;
id-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; /* SODIMM 137 / USBC_DET */
label = "USBC";
self-powered;
type = "micro";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_dr_connector: endpoint {
remote-endpoint = <&usb1_drd_sw>;
};
};
};
};
gpio-keys {
@ -42,7 +64,7 @@ panel_dpi: panel-dpi {
compatible = "edt,et057090dhu";
backlight = <&backlight>;
power-supply = <&reg_3v3>;
status = "okay";
status = "disabled";
port {
lcd_panel_in: endpoint {
@ -159,7 +181,7 @@ &i2c1 {
pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
status = "disabled";
/* Atmel maxtouch controller */
atmel_mxt_ts: touchscreen@4a {
@ -202,6 +224,7 @@ ad7879_ts: touchscreen@2c {
adi,median-filter-size = /bits/ 8 <2>;
adi,averaging = /bits/ 8 <1>;
adi,conversion-interval = /bits/ 8 <255>;
status = "disabled";
};
};
@ -209,6 +232,7 @@ &lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat
&pinctrl_lcdif_ctrl>;
status = "disabled";
port {
lcdif_out: endpoint {
@ -278,6 +302,13 @@ &usbotg1 {
srp-disable;
hnp-disable;
adp-disable;
usb-role-switch;
port {
usb1_drd_sw: endpoint {
remote-endpoint = <&usb_dr_connector>;
};
};
};
/* Colibri USBH */

View File

@ -29,7 +29,6 @@ chosen {
extcon_usbc_det: usbc-det {
compatible = "linux,extcon-usb-gpio";
debounce = <25>;
id-gpio = <&gpio7 14 GPIO_ACTIVE_HIGH>; /* SODIMM 137 / USBC_DET */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbc_det>;
@ -652,7 +651,7 @@ &iomuxc {
* NOTE: This pin group conflicts with pin groups pinctrl_pwm2/pinctrl_pwm3.
* Don't use them simultaneously.
*/
pinctrl_atmel_adapter: atmelconnectorgrp {
pinctrl_atmel_adapter: atmeladaptergrp {
fsl,pins = <
MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 /* SODIMM 28 / INT */
MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 /* SODIMM 30 / RST */
@ -660,7 +659,7 @@ MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 /* SODIMM 30 / RST */
};
/* Atmel MXT touchsceen + boards with built-in Capacitive Touch Connector */
pinctrl_atmel_connector: atmeladaptergrp {
pinctrl_atmel_connector: atmelconnectorgrp {
fsl,pins = <
MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14 /* SODIMM 106 / RST */
MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 / INT */

View File

@ -22,6 +22,28 @@ memory@80000000 {
reg = <0x80000000 0x40000000>;
};
thermal-zones {
epd-thermal {
thermal-sensors = <&sy7636a>;
polling-delay-passive = <30000>;
polling-delay = <30000>;
trips {
trip0 {
temperature = <49000>;
hysteresis = <2000>;
type = "passive";
};
trip1 {
temperature = <50000>;
hysteresis = <2000>;
type = "critical";
};
};
};
};
reg_brcm: regulator-brcm {
compatible = "regulator-fixed";
regulator-name = "brcm_reg";
@ -84,6 +106,32 @@ wacom_digitizer: digitizer@9 {
};
};
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_i2c4>;
pinctrl-1 = <&pinctrl_i2c4>;
status = "okay";
sy7636a: pmic@62 {
compatible = "silergy,sy7636a";
reg = <0x62>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_epdpmic>;
#address-cells = <1>;
#size-cells = <0>;
#thermal-sensor-cells = <0>;
epd-pwr-good-gpios = <&gpio6 21 GPIO_ACTIVE_HIGH>;
regulators {
reg_epdpmic: vcom {
regulator-name = "vcom";
regulator-boot-on;
};
};
};
};
&snvs_pwrkey {
status = "okay";
};
@ -177,6 +225,13 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13 0x14
>;
};
pinctrl_epdpmic: epdpmicgrp {
fsl,pins = <
MX7D_PAD_SAI2_RX_DATA__GPIO6_IO21 0x00000074
MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x00000014
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f
@ -184,6 +239,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f
>;
};
pinctrl_i2c4: i2c4grp {
fsl,pins = <
MX7D_PAD_I2C4_SDA__I2C4_SDA 0x4000007f
MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79

View File

@ -30,11 +30,11 @@ sys_mclk: clock-mclk {
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
leds {

View File

@ -259,7 +259,7 @@ atzb-rf-233@1 {
xtal-trim = /bits/ 8 <0x06>;
sleep-gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>;
reset-gpio = <&gpio6 10 GPIO_ACTIVE_HIGH>;
reset-gpio = <&gpio6 10 GPIO_ACTIVE_LOW>;
fsl,spi-cs-sck-delay = <180>;
fsl,spi-sck-cs-delay = <250>;