Commit 970d180b authored by Olof Johansson's avatar Olof Johansson

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

i.MX device tree changes for 5.14:

- New board support: i.MX6Q DaSheng COM-9XX SBC board, i.MX28 based XEA
  board, GE B1x5v2 boards.
- A series from Christoph Niedermaier to correct imx6q-dhcom
  descriptions, add device aliases and ethernet VIO regulator.
- Correct Ethernet node name for imx51-digi-connectcore-som and
  imx53-ard board to comply DT schema.
- A couple of update on imx6dl-yapp4 board, configuring OLED display
  segment offset, and using aliases to set custom MMC device indexes.
- A series from Oleksij Rempel and Robin van der Gracht to update
  Protonic boards: imx6dl-prtvt7, imx6dl-plym2m and imx6qdl-vicut1.
- A series from Shengjiu Wang to improve various audio support on NXP
  reference boards.
- Rename pinfunc for i.MX25 GPIO_[A-F] pads for consistency.

* tag 'imx-dt-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (30 commits)
  ARM: dts: imx6: Add GE B1x5v2
  ARM: dts: imx6q-dhcom: Add ethernet VIO regulator
  ARM: dts: imx6q-dhcom: Add aliases for i2c, serial and rtc
  ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
  ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
  ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
  ARM: dts: imx6dl-prtvt7: Remove unused 'sound-dai-cells' from ssi1 node
  ARM: dts: imx6dl-prtvt7: The sgtl5000 uses i2s not ac97
  ARM: dts: imx6qdl-vicut1: add interrupt-counter nodes
  ARM: dts: imx6dl-prtvt7: Enable the VPU
  ARM: dts: imx6dl: enable touchscreen debounce filter on PLYM2M and PRTVT7 boards
  ARM: dts: imx6dl-plym2m: remove touchscreen-size-* properties
  ARM: dts: imx6dl-prtvt7: fix PWM cell count for the backlight node.
  ARM: dts: imx6dl-prtvt7: Remove backlight enable gpio
  ARM: dts: imx6dl-prtvt7: add TSC2046 touchscreen node
  ARM: dts: imx53-ard: Correct Ethernet node name
  ARM: dts: i.MX51: digi-connectcore-som: Correct Ethernet node name
  ARM: dts: imx6dl-riotboard: configure PHY clock and set proper EEE value
  ARM: dts: imx6: edmqmx6: set phy-mode to RGMII-ID
  ARM: dts: imx6qdl-sabresd: Configure the gpio for hp detect
  ...

Link: https://lore.kernel.org/r/20210613082544.16067-4-shawnguo@kernel.orgSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
parents bb1a7fce 1fac5db3
...@@ -515,8 +515,14 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ ...@@ -515,8 +515,14 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-display5-tianma-tm070-1280x768.dtb \ imx6q-display5-tianma-tm070-1280x768.dtb \
imx6q-dmo-edmqmx6.dtb \ imx6q-dmo-edmqmx6.dtb \
imx6q-dms-ba16.dtb \ imx6q-dms-ba16.dtb \
imx6q-ds.dtb \
imx6q-emcon-avari.dtb \ imx6q-emcon-avari.dtb \
imx6q-evi.dtb \ imx6q-evi.dtb \
imx6dl-b105pv2.dtb \
imx6dl-b105v2.dtb \
imx6dl-b125v2.dtb \
imx6dl-b125pv2.dtb \
imx6dl-b155v2.dtb \
imx6q-gk802.dtb \ imx6q-gk802.dtb \
imx6q-gw51xx.dtb \ imx6q-gw51xx.dtb \
imx6q-gw52xx.dtb \ imx6q-gw52xx.dtb \
...@@ -727,7 +733,8 @@ dtb-$(CONFIG_ARCH_MXS) += \ ...@@ -727,7 +733,8 @@ dtb-$(CONFIG_ARCH_MXS) += \
imx28-m28evk.dtb \ imx28-m28evk.dtb \
imx28-sps1.dtb \ imx28-sps1.dtb \
imx28-ts4600.dtb \ imx28-ts4600.dtb \
imx28-tx28.dtb imx28-tx28.dtb \
imx28-xea.dtb
dtb-$(CONFIG_ARCH_NOMADIK) += \ dtb-$(CONFIG_ARCH_NOMADIK) += \
ste-nomadik-s8815.dtb \ ste-nomadik-s8815.dtb \
ste-nomadik-nhk15.dtb ste-nomadik-nhk15.dtb
......
...@@ -563,15 +563,15 @@ ...@@ -563,15 +563,15 @@
#define MX25_PAD_DE_B__DE_B 0x1f0 0x3ec 0x000 0x00 0x000 #define MX25_PAD_DE_B__DE_B 0x1f0 0x3ec 0x000 0x00 0x000
#define MX25_PAD_DE_B__GPIO_2_20 0x1f0 0x3ec 0x000 0x05 0x000 #define MX25_PAD_DE_B__GPIO_2_20 0x1f0 0x3ec 0x000 0x05 0x000
#define MX25_PAD_GPIO_A__GPIO_A 0x1f4 0x3f0 0x000 0x00 0x000 #define MX25_PAD_GPIO_A__GPIO_1_0 0x1f4 0x3f0 0x000 0x00 0x000
#define MX25_PAD_GPIO_A__CAN1_TX 0x1f4 0x3f0 0x000 0x06 0x000 #define MX25_PAD_GPIO_A__CAN1_TX 0x1f4 0x3f0 0x000 0x06 0x000
#define MX25_PAD_GPIO_A__USBOTG_PWR 0x1f4 0x3f0 0x000 0x02 0x000 #define MX25_PAD_GPIO_A__USBOTG_PWR 0x1f4 0x3f0 0x000 0x02 0x000
#define MX25_PAD_GPIO_B__GPIO_B 0x1f8 0x3f4 0x000 0x00 0x000 #define MX25_PAD_GPIO_B__GPIO_1_1 0x1f8 0x3f4 0x000 0x00 0x000
#define MX25_PAD_GPIO_B__USBOTG_OC 0x1f8 0x3f4 0x57c 0x02 0x001 #define MX25_PAD_GPIO_B__USBOTG_OC 0x1f8 0x3f4 0x57c 0x02 0x001
#define MX25_PAD_GPIO_B__CAN1_RX 0x1f8 0x3f4 0x480 0x06 0x001 #define MX25_PAD_GPIO_B__CAN1_RX 0x1f8 0x3f4 0x480 0x06 0x001
#define MX25_PAD_GPIO_C__GPIO_C 0x1fc 0x3f8 0x000 0x00 0x000 #define MX25_PAD_GPIO_C__GPIO_1_2 0x1fc 0x3f8 0x000 0x00 0x000
#define MX25_PAD_GPIO_C__PWM4_PWMO 0x1fc 0x3f8 0x000 0x01 0x000 #define MX25_PAD_GPIO_C__PWM4_PWMO 0x1fc 0x3f8 0x000 0x01 0x000
#define MX25_PAD_GPIO_C__I2C2_SCL 0x1fc 0x3f8 0x51c 0x02 0x001 #define MX25_PAD_GPIO_C__I2C2_SCL 0x1fc 0x3f8 0x51c 0x02 0x001
#define MX25_PAD_GPIO_C__KPP_COL4 0x1fc 0x3f8 0x52c 0x03 0x001 #define MX25_PAD_GPIO_C__KPP_COL4 0x1fc 0x3f8 0x52c 0x03 0x001
...@@ -580,18 +580,18 @@ ...@@ -580,18 +580,18 @@
#define MX25_PAD_GPIO_C__CAN2_TX 0x1fc 0x3f8 0x000 0x06 0x000 #define MX25_PAD_GPIO_C__CAN2_TX 0x1fc 0x3f8 0x000 0x06 0x000
#define MX25_PAD_GPIO_C__CSPI2_SS2 0x1fc 0x3f8 0x000 0x07 0x000 #define MX25_PAD_GPIO_C__CSPI2_SS2 0x1fc 0x3f8 0x000 0x07 0x000
#define MX25_PAD_GPIO_D__GPIO_D 0x200 0x3fc 0x000 0x00 0x000 #define MX25_PAD_GPIO_D__GPIO_1_3 0x200 0x3fc 0x000 0x00 0x000
#define MX25_PAD_GPIO_D__I2C2_SDA 0x200 0x3fc 0x520 0x02 0x001 #define MX25_PAD_GPIO_D__I2C2_SDA 0x200 0x3fc 0x520 0x02 0x001
#define MX25_PAD_GPIO_D__CAN2_RX 0x200 0x3fc 0x484 0x06 0x001 #define MX25_PAD_GPIO_D__CAN2_RX 0x200 0x3fc 0x484 0x06 0x001
#define MX25_PAD_GPIO_D__CSPI3_SS2 0x200 0x3fc 0x4c4 0x07 0x001 #define MX25_PAD_GPIO_D__CSPI3_SS2 0x200 0x3fc 0x4c4 0x07 0x001
#define MX25_PAD_GPIO_E__GPIO_E 0x204 0x400 0x000 0x00 0x000 #define MX25_PAD_GPIO_E__GPIO_1_4 0x204 0x400 0x000 0x00 0x000
#define MX25_PAD_GPIO_E__I2C3_CLK 0x204 0x400 0x524 0x01 0x002 #define MX25_PAD_GPIO_E__I2C3_CLK 0x204 0x400 0x524 0x01 0x002
#define MX25_PAD_GPIO_E__LD16 0x204 0x400 0x000 0x02 0x000 #define MX25_PAD_GPIO_E__LD16 0x204 0x400 0x000 0x02 0x000
#define MX25_PAD_GPIO_E__AUD7_TXD 0x204 0x400 0x000 0x04 0x000 #define MX25_PAD_GPIO_E__AUD7_TXD 0x204 0x400 0x000 0x04 0x000
#define MX25_PAD_GPIO_E__UART4_RXD 0x204 0x400 0x570 0x06 0x002 #define MX25_PAD_GPIO_E__UART4_RXD 0x204 0x400 0x570 0x06 0x002
#define MX25_PAD_GPIO_F__GPIO_F 0x208 0x404 0x000 0x00 0x000 #define MX25_PAD_GPIO_F__GPIO_1_5 0x208 0x404 0x000 0x00 0x000
#define MX25_PAD_GPIO_F__LD17 0x208 0x404 0x000 0x02 0x000 #define MX25_PAD_GPIO_F__LD17 0x208 0x404 0x000 0x02 0x000
#define MX25_PAD_GPIO_F__AUD7_TXC 0x208 0x404 0x000 0x04 0x000 #define MX25_PAD_GPIO_F__AUD7_TXC 0x208 0x404 0x000 0x04 0x000
#define MX25_PAD_GPIO_F__UART4_TXD 0x208 0x404 0x000 0x06 0x000 #define MX25_PAD_GPIO_F__UART4_TXD 0x208 0x404 0x000 0x06 0x000
......
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2021
* Lukasz Majewski, DENX Software Engineering, lukma@denx.de
*/
/dts-v1/;
#include "imx28.dtsi"
/ {
aliases {
spi2 = &ssp3;
};
chosen {
bootargs = "root=/dev/mmcblk0p2 rootfstype=ext4 ro rootwait console=ttyAMA0,115200 panic=1";
};
memory@40000000 {
reg = <0x40000000 0x08000000>;
};
reg_3v3: regulator-reg-3v3 {
compatible = "regulator-fixed";
regulator-name = "3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_usb_5v: regulator-reg-usb-5v {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
reg_fec_3v3: regulator-reg-fec-3v3 {
compatible = "regulator-fixed";
regulator-name = "fec-phy";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
&saif0 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
#sound-dai-cells = <0>;
assigned-clocks = <&clks 53>;
assigned-clock-rates = <12000000>;
status = "okay";
};
&saif1 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
#sound-dai-cells = <0>;
status = "okay";
};
&spi3_pins_a {
fsl,pinmux-ids = <
MX28_PAD_AUART2_RX__SSP3_D4
MX28_PAD_AUART2_TX__SSP3_D5
MX28_PAD_SSP3_SCK__SSP3_SCK
MX28_PAD_SSP3_MOSI__SSP3_CMD
MX28_PAD_SSP3_MISO__SSP3_D0
MX28_PAD_SSP3_SS0__SSP3_D3
MX28_PAD_AUART2_TX__GPIO_3_9
>;
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a>;
bus-width = <8>;
vmmc-supply = <&reg_3v3>;
non-removable;
status = "okay";
};
&ssp2 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
};
&ssp3 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi3_pins_a>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
spi-max-frequency = <40000000>;
reg = <0>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0 0x80000>;
read-only;
};
partition@80000 {
label = "env0";
reg = <0x80000 0x10000>;
};
partition@90000 {
label = "env1";
reg = <0x90000 0x10000>;
};
partition@100000 {
label = "kernel";
reg = <0x100000 0x400000>;
};
partition@500000 {
label = "swupdate";
reg = <0x500000 0x800000>;
};
};
};
};
&usb0 {
vbus-supply = <&reg_usb_5v>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_b>, <&usb0_id_pins_a>;
dr_mode = "host";
status = "okay";
};
&usbphy0 {
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb_5v>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_b>;
dr_mode = "host";
status = "okay";
};
&usbphy1 {
status = "okay";
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2021
* Lukasz Majewski, DENX Software Engineering, lukma@denx.de
*/
/dts-v1/;
#include "imx28-lwe.dtsi"
/ {
compatible = "lwn,imx28-xea", "fsl,imx28";
};
&can0 {
pinctrl-names = "default";
pinctrl-0 = <&can1_pins_a>;
status = "okay";
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_b>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a &hog_pins_tiva>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D00__GPIO_0_0
MX28_PAD_GPMI_D02__GPIO_0_2
MX28_PAD_GPMI_D05__GPIO_0_5
MX28_PAD_GPMI_CE1N__GPIO_0_17
MX28_PAD_GPMI_RDY0__GPIO_0_20
MX28_PAD_GPMI_RDY1__GPIO_0_21
MX28_PAD_GPMI_RDY2__GPIO_0_22
MX28_PAD_GPMI_RDN__GPIO_0_24
MX28_PAD_GPMI_CLE__GPIO_0_27
MX28_PAD_LCD_VSYNC__GPIO_1_28
MX28_PAD_SSP1_SCK__GPIO_2_12
MX28_PAD_SSP1_CMD__GPIO_2_13
MX28_PAD_SSP2_SS1__GPIO_2_20
MX28_PAD_SSP2_SS2__GPIO_2_21
MX28_PAD_LCD_D00__GPIO_1_0
MX28_PAD_LCD_D01__GPIO_1_1
MX28_PAD_LCD_D02__GPIO_1_2
MX28_PAD_LCD_D03__GPIO_1_3
MX28_PAD_LCD_D04__GPIO_1_4
MX28_PAD_LCD_D05__GPIO_1_5
MX28_PAD_LCD_D06__GPIO_1_6
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
hog_pins_tiva: hog@1 {
reg = <1>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_RDY3__GPIO_0_23
MX28_PAD_GPMI_WRN__GPIO_0_25
>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
hog_pins_coding: hog@2 {
reg = <2>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D01__GPIO_0_1
MX28_PAD_GPMI_D03__GPIO_0_3
MX28_PAD_GPMI_D04__GPIO_0_4
MX28_PAD_GPMI_D06__GPIO_0_6
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&reg_fec_3v3 {
gpio = <&gpio0 0 0>;
};
&reg_usb_5v {
gpio = <&gpio0 2 0>;
};
&spi2_pins_a {
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__SSP2_SCK
MX28_PAD_SSP2_MOSI__SSP2_CMD
MX28_PAD_SSP2_MISO__SSP2_D0
MX28_PAD_SSP2_SS0__GPIO_2_19
>;
};
...@@ -206,7 +206,7 @@ &weim { ...@@ -206,7 +206,7 @@ &weim {
pinctrl-0 = <&pinctrl_weim>; pinctrl-0 = <&pinctrl_weim>;
status = "okay"; status = "okay";
lan9221: lan9221@5,0 { lan9221: ethernet@5,0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lan9221>; pinctrl-0 = <&pinctrl_lan9221>;
compatible = "smsc,lan9221", "smsc,lan9115"; compatible = "smsc,lan9221", "smsc,lan9115";
......
...@@ -24,7 +24,7 @@ eim-cs1@f4000000 { ...@@ -24,7 +24,7 @@ eim-cs1@f4000000 {
reg = <0xf4000000 0x3ff0000>; reg = <0xf4000000 0x3ff0000>;
ranges; ranges;
lan9220@f4000000 { ethernet@f4000000 {
compatible = "smsc,lan9220", "smsc,lan9115"; compatible = "smsc,lan9220", "smsc,lan9115";
reg = <0xf4000000 0x2000000>; reg = <0xf4000000 0x2000000>;
phy-mode = "mii"; phy-mode = "mii";
......
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B105Pv2
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
/dts-v1/;
#include "imx6dl-b1x5pv2.dtsi"
/ {
model = "General Electric B105Pv2";
compatible = "ge,imx6dl-b105pv2", "congatec,qmx6", "fsl,imx6dl";
panel {
compatible = "auo,g101evn010";
};
};
&i2c3 {
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
pinctrl-names = "default";
pinctrl-0 =<&pinctrl_q7_gpio0>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tca6424a 21 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B105v2
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
/dts-v1/;
#include "imx6dl-b1x5v2.dtsi"
/ {
model = "General Electric B105v2";
compatible = "ge,imx6dl-b105v2", "congatec,qmx6", "fsl,imx6dl";
panel {
compatible = "auo,g101evn010";
};
};
&i2c3 {
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
pinctrl-names = "default";
pinctrl-0 =<&pinctrl_q7_gpio0>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tca6424a 21 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B125Pv2
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
/dts-v1/;
#include "imx6dl-b1x5pv2.dtsi"
/ {
model = "General Electric B125Pv2";
compatible = "ge,imx6dl-b125pv2", "congatec,qmx6", "fsl,imx6dl";
panel {
compatible = "auo,g121ean01";
};
};
&i2c3 {
touchscreen@2a {
compatible = "eeti,exc80h60";
reg = <0x2a>;
pinctrl-names = "default";
pinctrl-0 =<&pinctrl_q7_gpio0>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B125v2
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
/dts-v1/;
#include "imx6dl-b1x5v2.dtsi"
/ {
model = "General Electric B125v2";
compatible = "ge,imx6dl-b125v2", "congatec,qmx6", "fsl,imx6dl";
panel {
compatible = "auo,g121ean01";
};
};
&i2c3 {
touchscreen@2a {
compatible = "eeti,exc80h60";
reg = <0x2a>;
pinctrl-names = "default";
pinctrl-0 =<&pinctrl_q7_gpio0>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B155v2
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
/dts-v1/;
#include "imx6dl-b1x5v2.dtsi"
/ {
model = "General Electric B155v2";
compatible = "ge,imx6dl-b155v2", "congatec,qmx6", "fsl,imx6dl";
panel {
compatible = "auo,g156xtn01";
};
};
&i2c3 {
touchscreen@2a {
compatible = "eeti,exc80h84";
reg = <0x2a>;
pinctrl-names = "default";
pinctrl-0 =<&pinctrl_q7_gpio0>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
touchscreen-inverted-x;
touchscreen-inverted-y;
reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B1x5Pv2
// patient monitor series
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
#include <dt-bindings/input/input.h>
#include "imx6dl-qmx6.dtsi"
/ {
chosen {
stdout-path = &uart3;
};
/* Do not allow frequencies above 800MHz */
cpus {
cpu@0 {
operating-points = <
/* kHz uV */
792000 1175000
396000 1150000
>;
fsl,soc-operating-points = <
/* ARM kHz SOC-PU uV */
792000 1175000
396000 1175000
>;
};
cpu@1 {
operating-points = <
/* kHz uV */
792000 1175000
396000 1150000
>;
fsl,soc-operating-points = <
/* ARM kHz SOC-PU uV */
792000 1175000
396000 1175000
>;
};
};
reg_syspwr: regulator-12v {
compatible = "regulator-fixed";
regulator-name = "SYS_PWR";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
};
reg_5v_pmc: regulator-5v-pmc {
compatible = "regulator-fixed";
regulator-name = "5V PMC";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_syspwr>;
};
reg_5v: regulator-5v {
compatible = "regulator-fixed";
regulator-name = "5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_syspwr>;
};
reg_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&reg_syspwr>;
};
reg_5v0_audio: regulator-5v0-audio {
compatible = "regulator-fixed";
regulator-name = "5V0_AUDIO";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_5v>;
gpio = <&tca6424a 16 GPIO_ACTIVE_HIGH>;
enable-active-high;
/*
* This must be always-on for da7212, which has some not
* properly documented dependencies for it's speaker supply
* pin. The issue manifests as speaker volume being very low.
*/
regulator-always-on;
};
reg_3v3_audio: regulator-3v3-audio {
compatible = "regulator-fixed";
regulator-name = "3V3_AUDIO";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&reg_3v3>;
pinctrl-0 = <&pinctrl_q7_hda_reset>;
pinctrl-names = "default";
gpio = <&gpio6 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_2v5_audio: regulator-2v5-audio {
compatible = "regulator-fixed";
regulator-name = "2V5_AUDIO";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
vin-supply = <&reg_3v3_audio>;
};
reg_wlan: regulator-wlan {
compatible = "regulator-fixed";
regulator-name = "WLAN";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&reg_3v3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_sdio_power>;
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
enable-active-high;
startup-delay-us = <70000>;
};
reg_bl: regulator-backlight {
compatible = "regulator-fixed";
regulator-name = "LED_VCC";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
vin-supply = <&reg_syspwr>;
pinctrl-0 = <&pinctrl_q7_lcd_power>;
pinctrl-names = "default";
gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_lcd: regulator-lcd {
compatible = "regulator-fixed";
regulator-name = "LCD_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_5v>;
};
usb_power: regulator-usb-power {
compatible = "regulator-fixed";
regulator-name = "USB POWER";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_5v>;
};
charger: battery-charger {
compatible = "gpio-charger"; /* ti,bq24172 */
charger-type = "mains";
gpios = <&tca6424a 3 GPIO_ACTIVE_LOW>;
charge-current-limit-gpios = <&tca6424a 11 GPIO_ACTIVE_HIGH>,
<&tca6424a 12 GPIO_ACTIVE_HIGH>;
charge-current-limit-mapping = <1300000 0x0>,
<700000 0x1>,
<0 0x2>;
charge-status-gpios = <&tca6424a 6 GPIO_ACTIVE_HIGH>;
};
poweroff {
compatible = "gpio-poweroff";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_spi_cs1>;
gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
};
power-button-key {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_sleep_button>;
power-button {
label = "power button";
gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
};
rotary-encoder-key {
compatible = "gpio-keys";
rotary-encoder-press {
label = "rotary-encoder press";
gpios = <&tca6424a 0 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_ENTER>;
linux,can-disable;
};
};
rotary-encoder {
compatible = "rotary-encoder";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_gpio2 &pinctrl_q7_gpio4>;
gpios = <&gpio4 26 GPIO_ACTIVE_LOW>, <&gpio1 0 GPIO_ACTIVE_LOW>;
rotary-encoder,relative-axis;
rotary-encoder,steps-per-period = <2>;
wakeup-source;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_gpio1 &pinctrl_q7_gpio3 &pinctrl_q7_gpio5>;
alarm1 {
label = "alarm:red";
gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
};
alarm2 {
label = "alarm:yellow";
gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>;
};
alarm3 {
label = "alarm:blue";
gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_backlight_enable>;
power-supply = <&reg_bl>;
pwms = <&pwm4 0 5000000 0>;
brightness-levels = <0 255>;
num-interpolated-steps = <255>;
default-brightness-level = <179>;
enable-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
};
panel {
backlight = <&backlight>;
power-supply = <&reg_lcd>;
port {
panel_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,widgets = "Speaker", "Ext Spk";
simple-audio-card,audio-routing = "Ext Spk", "LINE";
simple-audio-card,cpu {
sound-dai = <&ssi1>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&codec>;
};
};
clk_ext_audio_codec: clock-codec {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12288000>;
};
};
&audmux {
status = "okay";
};
&fec {
status = "okay";
};
&hdmi {
status = "okay";
};
&i2c1 {
battery: battery@b {
compatible = "ti,bq20z65", "sbs,sbs-battery";
reg = <0x0b>;
sbs,battery-detect-gpios = <&tca6424a 5 GPIO_ACTIVE_LOW>;
sbs,i2c-retry-count = <5>;
power-supplies = <&charger>;
};
codec: audio-codec@1a {
compatible = "dlg,da7212";
reg = <0x1a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_2v5_audio>;
VDDSP-supply = <&reg_5v0_audio>;
VDDMIC-supply = <&reg_3v3_audio>;
VDDIO-supply = <&reg_3v3_audio>;
clocks = <&clk_ext_audio_codec>;
clock-names = "mclk";
};
};
&i2c5 {
tca6424a: gpio-controller@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
vcc-supply = <&reg_3v3>;
interrupt-parent = <&gpio7>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_gpio6>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-line-names = "GPIO_ROTOR#", "ACM_IO_INT", "TMP_SENSOR_IRQ", "AC_IN",
"TF_S", "BATT_T", "LED_INC_CHAR", "ACM1_OCF",
"ACM2_OCF", "ACM_IO_RST", "USB1_POWER_EN", "EGPIO_CC_CTL0",
"EGPIO_CC_CTL1", "12V_OEMNBP_EN", "CP2105_RST", "",
"SPEAKER_PA_EN", "ARM7_UPI_RESET", "ARM7_PWR_RST", "NURSE_CALL",
"MARKER_EN", "EGPIO_TOUCH_RST", "PRESSURE_INT1", "PRESSURE_INT2";
};
tmp75: temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
vs-supply = <&reg_3v3>;
interrupt-parent = <&tca6424a>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
};
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
status = "okay";
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
port@4 {
reg = <4>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
&pwm4 {
status = "okay";
};
&ssi1 {
fsl,mode = "i2s-slave";
status = "okay";
};
&usbotg {
vbus-supply = <&usb_power>;
disable-over-current;
dr_mode = "host";
status = "okay";
/*
* TPS2051BDGN fault-gpio is connected to Q7[86] USB_0_1_OC_N.
* On QMX6 this is not connceted to the i.MX6, but to the USB Hub
* from &usbh1. This means, that we cannot easily detect and handle
* over-current events. Fortunately the regulator limits the current
* automatically, so the hardware is still protected.
*/
};
&usdhc4 {
/* WiFi module */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>;
bus-width = <4>;
no-1-8-v;
non-removable;
wakeup-source;
keep-power-in-suspend;
cap-power-off-card;
max-frequency = <25000000>;
vmmc-supply = <&reg_wlan>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
wlcore: wlcore@2 {
compatible = "ti,wl1837";
reg = <2>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_q7_gpio7>;
interrupt-parent = <&gpio4>;
interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
tcxo-clock-frequency = <26000000>;
};
};
// SPDX-License-Identifier: GPL-2.0 or MIT
//
// Device Tree Source for General Electric B1x5v2
// patient monitor series
//
// Copyright 2018-2021 General Electric Company
// Copyright 2018-2021 Collabora
#include <dt-bindings/input/input.h>
#include "imx6dl-b1x5pv2.dtsi"
/ {
reg_3v3_acm: regulator-3v3-acm {
compatible = "regulator-fixed";
regulator-name = "3V3 ACM";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
vin-supply = <&reg_3v3>;
};
};
&i2c1 {
tca6416: gpio-controller@21 {
compatible = "ti,tca6416";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
reset-gpios = <&tca6424a 9 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_3v3_acm>;
gpio-line-names = "ACM1_EN", "ACM1_CL0", "ACM1_CL1", "ACM1_CL2",
"", "ACM2_EN", "ACM2_CL0", "ACM2_CL1",
"ACM2_CL2", "", "", "",
"", "", "", "";
/*
* The interrupt pin is connected to &tca6424a pin 1, but the Linux
* TCA6424 driver cannot handle low type interrupts at the moment
* (and support cannot be added without some ugly hacks). Since this
* controller does not have any input type GPIOs, just pretend
* that the interrupt pin is unconnected.
*/
};
};
&i2c5 {
mpl3115a2: pressure-sensor@60 {
compatible = "fsl,mpl3115";
reg = <0x60>;
vcc-supply = <&reg_3v3_acm>;
/*
* The MPL3115 interrupts are connected to pin 22 and 23
* of &tca6424a, but the binding does not yet support
* interrupts.
*/
};
};
...@@ -138,8 +138,6 @@ touchscreen@0 { ...@@ -138,8 +138,6 @@ touchscreen@0 {
interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>;
pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
touchscreen-inverted-x; touchscreen-inverted-x;
touchscreen-inverted-y; touchscreen-inverted-y;
touchscreen-max-pressure = <4095>; touchscreen-max-pressure = <4095>;
...@@ -147,7 +145,9 @@ touchscreen@0 { ...@@ -147,7 +145,9 @@ touchscreen@0 {
ti,vref-delay-usecs = /bits/ 16 <100>; ti,vref-delay-usecs = /bits/ 16 <100>;
ti,x-plate-ohms = /bits/ 16 <800>; ti,x-plate-ohms = /bits/ 16 <800>;
ti,y-plate-ohms = /bits/ 16 <300>; ti,y-plate-ohms = /bits/ 16 <300>;
ti,debounce-max = /bits/ 16 <3>;
ti,debounce-tol = /bits/ 16 <70>;
ti,debounce-rep = /bits/ 16 <3>;
wakeup-source; wakeup-source;
}; };
}; };
......
...@@ -21,14 +21,11 @@ memory@10000000 { ...@@ -21,14 +21,11 @@ memory@10000000 {
backlight_lcd: backlight-lcd { backlight_lcd: backlight-lcd {
compatible = "pwm-backlight"; compatible = "pwm-backlight";
pinctrl-names = "default"; pwms = <&pwm1 0 500000 0>;
pinctrl-0 = <&pinctrl_backlight>;
pwms = <&pwm1 0 500000>;
brightness-levels = <0 20 81 248 1000>; brightness-levels = <0 20 81 248 1000>;
default-brightness-level = <20>; default-brightness-level = <20>;
num-interpolated-steps = <21>; num-interpolated-steps = <21>;
power-supply = <&reg_bl_12v0>; power-supply = <&reg_bl_12v0>;
enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
}; };
keys { keys {
...@@ -223,6 +220,24 @@ &ecspi2 { ...@@ -223,6 +220,24 @@ &ecspi2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2>; pinctrl-0 = <&pinctrl_ecspi2>;
status = "okay"; status = "okay";
touchscreen@0 {
compatible = "ti,tsc2046";
reg = <0>;
pinctrl-0 = <&pinctrl_tsc>;
pinctrl-names ="default";
spi-max-frequency = <100000>;
interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>;
pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
touchscreen-max-pressure = <4095>;
ti,vref-delay-usecs = /bits/ 16 <100>;
ti,x-plate-ohms = /bits/ 16 <800>;
ti,y-plate-ohms = /bits/ 16 <300>;
ti,debounce-max = /bits/ 16 <3>;
ti,debounce-tol = /bits/ 16 <70>;
ti,debounce-rep = /bits/ 16 <3>;
wakeup-source;
};
}; };
&i2c1 { &i2c1 {
...@@ -261,7 +276,6 @@ &ipu1 { ...@@ -261,7 +276,6 @@ &ipu1 {
}; };
&pwm1 { &pwm1 {
#pwm-cells = <2>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>; pinctrl-0 = <&pinctrl_pwm1>;
status = "okay"; status = "okay";
...@@ -276,8 +290,6 @@ &snvs_pwrkey { ...@@ -276,8 +290,6 @@ &snvs_pwrkey {
}; };
&ssi1 { &ssi1 {
#sound-dai-cells = <0>;
fsl,mode = "ac97-slave";
status = "okay"; status = "okay";
}; };
...@@ -285,10 +297,6 @@ &usbh1 { ...@@ -285,10 +297,6 @@ &usbh1 {
status = "disabled"; status = "disabled";
}; };
&vpu {
status = "disabled";
};
&iomuxc { &iomuxc {
pinctrl_audmux: audmuxgrp { pinctrl_audmux: audmuxgrp {
fsl,pins = < fsl,pins = <
...@@ -300,12 +308,6 @@ MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 ...@@ -300,12 +308,6 @@ MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
>; >;
}; };
pinctrl_backlight: backlightgrp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT7__GPIO4_IO28 0x1b0b0
>;
};
pinctrl_can1phy: can1phy { pinctrl_can1phy: can1phy {
fsl,pins = < fsl,pins = <
/* CAN1_SR */ /* CAN1_SR */
......
This diff is collapsed.
...@@ -106,6 +106,8 @@ rgmii_phy: ethernet-phy@4 { ...@@ -106,6 +106,8 @@ rgmii_phy: ethernet-phy@4 {
reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>; reset-assert-us = <10000>;
reset-deassert-us = <1000>; reset-deassert-us = <1000>;
qca,smarteee-tw-us-1g = <24>;
qca,clk-out-frequency = <125000000>;
}; };
}; };
}; };
......
...@@ -11,6 +11,8 @@ / { ...@@ -11,6 +11,8 @@ / {
aliases: aliases { aliases: aliases {
ethernet1 = &eth1; ethernet1 = &eth1;
ethernet2 = &eth2; ethernet2 = &eth2;
mmc0 = &usdhc3;
mmc1 = &usdhc4;
}; };
backlight: backlight { backlight: backlight {
...@@ -341,6 +343,7 @@ oled_1305: oled@3d { ...@@ -341,6 +343,7 @@ oled_1305: oled@3d {
solomon,height = <64>; solomon,height = <64>;
solomon,width = <128>; solomon,width = <128>;
solomon,page-offset = <0>; solomon,page-offset = <0>;
solomon,col-offset = <4>;
solomon,prechargep2 = <15>; solomon,prechargep2 = <15>;
reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
vbat-supply = <&sw2_reg>; vbat-supply = <&sw2_reg>;
......
...@@ -12,10 +12,20 @@ ...@@ -12,10 +12,20 @@
/ { / {
aliases { aliases {
i2c0 = &i2c2;
i2c1 = &i2c1;
i2c2 = &i2c3;
mmc0 = &usdhc2; mmc0 = &usdhc2;
mmc1 = &usdhc3; mmc1 = &usdhc3;
mmc2 = &usdhc4; mmc2 = &usdhc4;
mmc3 = &usdhc1; mmc3 = &usdhc1;
rtc0 = &rtc_i2c;
rtc1 = &snvs_rtc;
serial0 = &uart1;
serial1 = &uart5;
serial2 = &uart4;
serial3 = &uart2;
serial4 = &uart3;
}; };
memory@10000000 { memory@10000000 {
...@@ -23,6 +33,19 @@ memory@10000000 { ...@@ -23,6 +33,19 @@ memory@10000000 {
reg = <0x10000000 0x40000000>; reg = <0x10000000 0x40000000>;
}; };
reg_eth_vio: regulator-eth-vio {
compatible = "regulator-fixed";
gpio = <&gpio1 7 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pinctrl_enet_vio>;
pinctrl-names = "default";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "eth_vio";
vin-supply = <&sw2_reg>;
};
reg_usb_otg_vbus: regulator-usb-otg-vbus { reg_usb_otg_vbus: regulator-usb-otg-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "usb_otg_vbus"; regulator-name = "usb_otg_vbus";
...@@ -96,30 +119,40 @@ ethphy0: ethernet-phy@0 { /* SMSC LAN8710Ai */ ...@@ -96,30 +119,40 @@ ethphy0: ethernet-phy@0 { /* SMSC LAN8710Ai */
reg = <0>; reg = <0>;
max-speed = <100>; max-speed = <100>;
reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
reset-delay-us = <1000>; reset-assert-us = <1000>;
reset-post-delay-us = <1000>; reset-deassert-us = <1000>;
smsc,disable-energy-detect; /* Make plugin detection reliable */
}; };
}; };
}; };
&i2c1 { &i2c1 {
clock-frequency = <100000>; clock-frequency = <100000>;
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>; pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_gpio>;
scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
clock-frequency = <100000>; clock-frequency = <100000>;
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c2>; pinctrl-0 = <&pinctrl_i2c2>;
pinctrl-1 = <&pinctrl_i2c2_gpio>;
scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
}; };
&i2c3 { &i2c3 {
clock-frequency = <100000>; clock-frequency = <100000>;
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>; pinctrl-0 = <&pinctrl_i2c3>;
pinctrl-1 = <&pinctrl_i2c3_gpio>;
scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
ltc3676: pmic@3c { ltc3676: pmic@3c {
...@@ -203,7 +236,7 @@ eeprom@50 { ...@@ -203,7 +236,7 @@ eeprom@50 {
pagesize = <16>; pagesize = <16>;
}; };
rtc@56 { rtc_i2c: rtc@56 {
compatible = "microcrystal,rv3029"; compatible = "microcrystal,rv3029";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rtc_hw300>; pinctrl-0 = <&pinctrl_rtc_hw300>;
...@@ -260,6 +293,11 @@ MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 ...@@ -260,6 +293,11 @@ MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
MX6QDL_PAD_EIM_WAIT__GPIO5_IO00 0x000b0 MX6QDL_PAD_EIM_WAIT__GPIO5_IO00 0x000b0
MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x000b1 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x000b1
>;
};
pinctrl_enet_vio: enet-vio-grp {
fsl,pins = <
MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x120b0 MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x120b0
>; >;
}; };
...@@ -285,6 +323,13 @@ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 ...@@ -285,6 +323,13 @@ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
>; >;
}; };
pinctrl_i2c1_gpio: i2c1-gpio-grp {
fsl,pins = <
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b1
MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b1
>;
};
pinctrl_i2c2: i2c2-grp { pinctrl_i2c2: i2c2-grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
...@@ -292,6 +337,13 @@ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 ...@@ -292,6 +337,13 @@ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
>; >;
}; };
pinctrl_i2c2_gpio: i2c2-gpio-grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b8b1
MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3-grp { pinctrl_i2c3: i2c3-grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
...@@ -299,6 +351,13 @@ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 ...@@ -299,6 +351,13 @@ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
>; >;
}; };
pinctrl_i2c3_gpio: i2c3-gpio-grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1
MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1
>;
};
pinctrl_pmic_hw300: pmic-hw300-grp { pinctrl_pmic_hw300: pmic-hw300-grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1B0B0 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1B0B0
......
...@@ -112,7 +112,7 @@ flash: m25p80@0 { ...@@ -112,7 +112,7 @@ flash: m25p80@0 {
&fec { &fec {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>; pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
phy-supply = <&vgen2_1v2_eth>; phy-supply = <&vgen2_1v2_eth>;
status = "okay"; status = "okay";
......
// SPDX-License-Identifier: GPL-2.0+
//
// Copyright 2021 Dillon Min <dillon.minfei@gmail.com>
//
// Based on imx6qdl-sabresd.dtsi which is:
// Copyright 2012 Freescale Semiconductor, Inc.
// Copyright 2011 Linaro Ltd.
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-ds.dtsi"
/ {
model = "DaSheng i.MX6 Quad Com-9xx Board";
compatible = "ds,imx6q-sbc", "fsl,imx6q";
};
This diff is collapsed.
...@@ -322,8 +322,8 @@ pinctrl_uart3: uart3grp { ...@@ -322,8 +322,8 @@ pinctrl_uart3: uart3grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D30__UART3_RTS_B 0x1b0b1 MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
MX6QDL_PAD_EIM_D31__UART3_CTS_B 0x1b0b1 MX6QDL_PAD_EIM_D30__UART3_CTS_B 0x1b0b1
>; >;
}; };
...@@ -410,6 +410,7 @@ &reg_soc { ...@@ -410,6 +410,7 @@ &reg_soc {
&uart3 { &uart3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>; pinctrl-0 = <&pinctrl_uart3>;
uart-has-rtscts;
status = "disabled"; status = "disabled";
}; };
......
...@@ -97,8 +97,11 @@ sound { ...@@ -97,8 +97,11 @@ sound {
compatible = "fsl,imx6q-sabresd-wm8962", compatible = "fsl,imx6q-sabresd-wm8962",
"fsl,imx-audio-wm8962"; "fsl,imx-audio-wm8962";
model = "wm8962-audio"; model = "wm8962-audio";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hp>;
ssi-controller = <&ssi2>; ssi-controller = <&ssi2>;
audio-codec = <&codec>; audio-codec = <&codec>;
audio-asrc = <&asrc>;
audio-routing = audio-routing =
"Headphone Jack", "HPOUTL", "Headphone Jack", "HPOUTL",
"Headphone Jack", "HPOUTR", "Headphone Jack", "HPOUTR",
...@@ -545,6 +548,13 @@ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 ...@@ -545,6 +548,13 @@ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
>; >;
}; };
pinctrl_hp: hpgrp {
fsl,pins = <
MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x1b0b0
MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
>;
};
pinctrl_i2c1: i2c1grp { pinctrl_i2c1: i2c1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
......
...@@ -40,6 +40,27 @@ comp0_out: endpoint { ...@@ -40,6 +40,27 @@ comp0_out: endpoint {
}; };
}; };
counter-0 {
compatible = "interrupt-counter";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_counter0>;
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
counter-1 {
compatible = "interrupt-counter";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_counter1>;
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
counter-2 {
compatible = "interrupt-counter";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_counter2>;
gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
};
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
autorepeat; autorepeat;
...@@ -254,7 +275,7 @@ &gpio1 { ...@@ -254,7 +275,7 @@ &gpio1 {
&gpio2 { &gpio2 {
gpio-line-names = gpio-line-names =
"", "", "", "", "", "", "", "", "count0", "count1", "count2", "", "", "", "", "",
"REV_ID0", "REV_ID1", "REV_ID2", "REV_ID3", "REV_ID4", "REV_ID0", "REV_ID1", "REV_ID2", "REV_ID3", "REV_ID4",
"BOARD_ID0", "BOARD_ID1", "BOARD_ID2", "BOARD_ID0", "BOARD_ID1", "BOARD_ID2",
"", "", "", "", "", "", "", "ON_SWITCH", "", "", "", "", "", "", "", "ON_SWITCH",
...@@ -572,6 +593,24 @@ MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x13008 ...@@ -572,6 +593,24 @@ MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x13008
>; >;
}; };
pinctrl_counter0: counter0grp {
fsl,pins = <
MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b000
>;
};
pinctrl_counter1: counter1grp {
fsl,pins = <
MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b000
>;
};
pinctrl_counter2: counter2grp {
fsl,pins = <
MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b000
>;
};
pinctrl_ecspi1: ecspi1grp { pinctrl_ecspi1: ecspi1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
......
...@@ -142,7 +142,6 @@ &iomuxc { ...@@ -142,7 +142,6 @@ &iomuxc {
imx6qdl-wandboard { imx6qdl-wandboard {
pinctrl_hog: hoggrp { pinctrl_hog: hoggrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x80000000 /* USB Power Enable */
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* USDHC1 CD */ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* USDHC1 CD */
MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */ MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */
MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1f0b1 /* RGMII PHY reset */ MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1f0b1 /* RGMII PHY reset */
......
...@@ -60,38 +60,26 @@ reg_can_3v3: regulator-can-3v3 { ...@@ -60,38 +60,26 @@ reg_can_3v3: regulator-can-3v3 {
gpios = <&gpio_spi 3 GPIO_ACTIVE_LOW>; gpios = <&gpio_spi 3 GPIO_ACTIVE_LOW>;
}; };
sound { sound-wm8960 {
compatible = "simple-audio-card"; compatible = "fsl,imx-audio-wm8960";
simple-audio-card,name = "mx6ul-wm8960"; model = "wm8960-audio";
simple-audio-card,format = "i2s"; audio-cpu = <&sai2>;
simple-audio-card,bitclock-master = <&dailink_master>; audio-codec = <&codec>;
simple-audio-card,frame-master = <&dailink_master>; audio-asrc = <&asrc>;
simple-audio-card,widgets = hp-det-gpio = <&gpio5 4 0>;
"Microphone", "Mic Jack", audio-routing =
"Line", "Line In",
"Line", "Line Out",
"Speaker", "Speaker",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HP_L", "Headphone Jack", "HP_L",
"Headphone Jack", "HP_R", "Headphone Jack", "HP_R",
"Speaker", "SPK_LP", "Ext Spk", "SPK_LP",
"Speaker", "SPK_LN", "Ext Spk", "SPK_LN",
"Speaker", "SPK_RP", "Ext Spk", "SPK_RP",
"Speaker", "SPK_RN", "Ext Spk", "SPK_RN",
"LINPUT1", "Mic Jack", "LINPUT2", "Mic Jack",
"LINPUT3", "Mic Jack", "LINPUT3", "Mic Jack",
"RINPUT1", "Mic Jack", "RINPUT1", "AMIC",
"RINPUT2", "Mic Jack"; "RINPUT2", "AMIC",
"Mic Jack", "MICB",
simple-audio-card,cpu { "AMIC", "MICB";
sound-dai = <&sai2>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&codec>;
clocks = <&clks IMX6UL_CLK_SAI2>;
};
}; };
spi4 { spi4 {
...@@ -145,6 +133,10 @@ codec: wm8960@1a { ...@@ -145,6 +133,10 @@ codec: wm8960@1a {
compatible = "wlf,wm8960"; compatible = "wlf,wm8960";
reg = <0x1a>; reg = <0x1a>;
wlf,shared-lrclk; wlf,shared-lrclk;
wlf,hp-cfg = <3 2 3>;
wlf,gpio-cfg = <1 3>;
clocks = <&clks IMX6UL_CLK_SAI2>;
clock-names = "mclk";
}; };
camera@3c { camera@3c {
......
...@@ -164,6 +164,13 @@ sound { ...@@ -164,6 +164,13 @@ sound {
"LINPUT1", "AMIC", "LINPUT1", "AMIC",
"AMIC", "MICB"; "AMIC", "MICB";
}; };
sound-hdmi {
compatible = "fsl,imx-audio-sii902x";
model = "sii902x-audio";
audio-cpu = <&sai3>;
hdmi-out;
};
}; };
&adc1 { &adc1 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment