Hi,
This series picks up from where [1] left off. After fixing the mux
regions, introduce the basic i2c, uarts, ethernet, and a few alias
fixups sprinkled along with it.
This series also takes over [2] and rebased on top of [1] and my series.
Test log:
Dasnavis Sabiya (1):
arm64: dts: ti: k3-am69-sk: Add pinmux for RPi Header
Nishanth Menon (7):
arm64: dts: ti: k3-j784s4-evm: Fix main_i2c0 alias
arm64: dts: ti: k3-j784s4-evm: Add mcu and wakeup uarts
arm64: dts: ti: k3-j784s4-evm: Enable wakeup_i2c0 and eeprom
arm64: dts: ti: k3-am69-sk: Fix main_i2c0 alias
arm64: dts: ti: k3-am69-sk: Enable mcu network port
arm64: dts: ti: k3-am69-sk: Add mcu and wakeup uarts
arm64: dts: ti: k3-am69-sk: Enable wakeup_i2c0 and eeprom
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 165 ++++++++++++++++++++++-
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 56 +++++++-
2 files changed, 219 insertions(+), 2 deletions(-)
[1] https://lore.kernel.org/linux-arm-kernel/[email protected]/
[2] https://lore.kernel.org/linux-arm-kernel/[email protected]/
--
2.40.0
From: Dasnavis Sabiya <[email protected]>
Add pinmux required to bring out the i2c and gpios on 40 pin RPi
expansion header on AM69 SK board.
Signed-off-by: Dasnavis Sabiya <[email protected]>
Signed-off-by: Nishanth Menon <[email protected]>
---
Depends on https://lore.kernel.org/linux-arm-kernel/[email protected]/
Changes since V1:
* Rebased on the pinmux split up done from the dependency.
* Some minor style fixups.
V1: https://lore.kernel.org/linux-arm-kernel/[email protected]/
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 63 +++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index a0e7872f31f2..093c6f8391e4 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -141,6 +141,25 @@ vdd_sd_dv_pins_default: vdd-sd-dv-pins-default {
J784S4_IOPAD(0x0C4, PIN_INPUT, 7) /* (AD36) ECAP0_IN_APWM_OUT.GPIO0_49 */
>;
};
+
+ rpi_header_gpio0_pins_default: rpi-header-gpio0-pins-default {
+ pinctrl-single,pins = <
+ J784S4_IOPAD(0x0BC, PIN_INPUT, 7) /* (AD33) MCASP1_AFSX.GPIO0_47 */
+ J784S4_IOPAD(0x06C, PIN_INPUT, 7) /* (AJ37) MCASP4_AFSX.GPIO0_27 */
+ J784S4_IOPAD(0x0B4, PIN_INPUT, 7) /* (AL34) MCASP1_AXR4.GPIO0_45 */
+ J784S4_IOPAD(0x0C0, PIN_INPUT, 7) /* (AD38) MCASP1_AXR0.GPIO0_48 */
+ J784S4_IOPAD(0x00C, PIN_INPUT, 7) /* (AF33) MCAN13_TX.GPIO0_3 */
+ J784S4_IOPAD(0x0B8, PIN_INPUT, 7) /* (AC34) MCASP1_ACLKX.GPIO0_46 */
+ J784S4_IOPAD(0x090, PIN_INPUT, 7) /* (AC35) MCASP0_AXR8.GPIO0_36 */
+ J784S4_IOPAD(0x0A8, PIN_INPUT, 7) /* (AF34) MCASP0_AXR14.GPIO0_42 */
+ J784S4_IOPAD(0x0A4, PIN_INPUT, 7) /* (AJ36) MCASP0_AXR13.GPIO0_41 */
+ J784S4_IOPAD(0x034, PIN_INPUT, 7) /* (AJ34) PMIC_WAKE0n.GPIO0_13 */
+ J784S4_IOPAD(0x0CC, PIN_INPUT, 7) /* (AM37) SPI0_CS0.GPIO0_51 */
+ J784S4_IOPAD(0x08C, PIN_INPUT, 7) /* (AE35) MCASP0_AXR7.GPIO0_35 */
+ J784S4_IOPAD(0x008, PIN_INPUT, 7) /* (AJ33) MCAN12_RX.GPIO0_2 */
+ J784S4_IOPAD(0x004, PIN_INPUT, 7) /* (AG36) MCAN12_TX.GPIO0_1 */
+ >;
+ };
};
&wkup_pmx2 {
@@ -167,6 +186,13 @@ J784S4_WKUP_IOPAD(0x088, PIN_OUTPUT, 0) /* (J37) WKUP_GPIO0_12.MCU_UART0_TXD */
>;
};
+ mcu_i2c0_pins_default: mcu-i2c0-pins-default {
+ pinctrl-single,pins = <
+ J784S4_WKUP_IOPAD(0x0a0, PIN_INPUT_PULLUP, 0) /* (M35) MCU_I2C0_SCL */
+ J784S4_WKUP_IOPAD(0x0a4, PIN_INPUT_PULLUP, 0) /* (G34) MCU_I2C0_SDA */
+ >;
+ };
+
mcu_cpsw_pins_default: mcu-cpsw-pins-default {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x02c, PIN_INPUT, 0) /* (A35) MCU_RGMII1_RD0 */
@@ -190,6 +216,28 @@ J784S4_WKUP_IOPAD(0x034, PIN_OUTPUT, 0) /* (A36) MCU_MDIO0_MDC */
J784S4_WKUP_IOPAD(0x030, PIN_INPUT, 0) /* (B35) MCU_MDIO0_MDIO */
>;
};
+
+ mcu_rpi_hdr1_gpio0_pins_default: mcu-rpi-hdr1-gpio0-pins-default {
+ pinctrl-single,pins = <
+ J784S4_WKUP_IOPAD(0x118, PIN_INPUT, 7) /* (N34) WKUP_GPIO0_66 */
+ J784S4_WKUP_IOPAD(0x05c, PIN_INPUT, 7) /* (J34) WKUP_GPIO0_1 */
+ J784S4_WKUP_IOPAD(0x060, PIN_INPUT, 7) /* (J35) WKUP_GPIO0_2 */
+ J784S4_WKUP_IOPAD(0x058, PIN_INPUT, 7) /* (H38) WKUP_GPIO0_0 */
+ J784S4_WKUP_IOPAD(0x0b8, PIN_INPUT, 7) /* (M37) WKUP_GPIO0_56 */
+ J784S4_WKUP_IOPAD(0x114, PIN_INPUT, 7) /* (M36) WKUP_GPIO0_57 */
+ J784S4_WKUP_IOPAD(0x094, PIN_INPUT, 7) /* (K37) WKUP_GPIO0_15 */
+ J784S4_WKUP_IOPAD(0x064, PIN_INPUT, 7) /* (J36) WKUP_GPIO0_3 */
+ J784S4_WKUP_IOPAD(0x11c, PIN_INPUT, 7) /* (M34) WKUP_GPIO0_67 */
+ >;
+ };
+};
+
+&wkup_pmx3 {
+ mcu_rpi_hdr2_gpio0_pins_default: mcu-rpi-hdr2-gpio0-pins-default {
+ pinctrl-single,pins = <
+ J784S4_WKUP_IOPAD(0x0, PIN_INPUT, 7) /* (M33) WKUP_GPIO0_49 */
+ >;
+ };
};
&wkup_uart0 {
@@ -212,12 +260,25 @@ eeprom@51 {
};
};
+&wkup_gpio0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_rpi_hdr1_gpio0_pins_default>, <&mcu_rpi_hdr2_gpio0_pins_default>;
+};
+
&mcu_uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_uart0_pins_default>;
};
+&mcu_i2c0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_i2c0_pins_default>;
+ clock-frequency = <400000>;
+};
+
&main_uart8 {
status = "okay";
pinctrl-names = "default";
@@ -256,6 +317,8 @@ &main_sdhci1 {
&main_gpio0 {
status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&rpi_header_gpio0_pins_default>;
};
&mcu_cpsw {
--
2.40.0
Enable wakeup_i2c and use un-used pinmux. While at it, describe the
board detection eeprom present on the board.
Signed-off-by: Nishanth Menon <[email protected]>
---
Depends on https://lore.kernel.org/linux-arm-kernel/[email protected]/
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 3f499e527523..f394ab409934 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -25,6 +25,7 @@ aliases {
serial2 = &main_uart8;
mmc0 = &main_sdhci0;
mmc1 = &main_sdhci1;
+ i2c0 = &wkup_i2c0;
i2c3 = &main_i2c0;
};
@@ -153,6 +154,13 @@ J721S2_WKUP_IOPAD(0x04c, PIN_INPUT, 0) /* (K34) WKUP_UART0_TXD */
>;
};
+ wkup_i2c0_pins_default: wkup-i2c0-pins-default {
+ pinctrl-single,pins = <
+ J721S2_WKUP_IOPAD(0x98, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */
+ J721S2_WKUP_IOPAD(0x9c, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */
+ >;
+ };
+
mcu_uart0_pins_default: mcu-uart0-pins-default {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x090, PIN_INPUT, 0) /* (H37) WKUP_GPIO0_14.MCU_UART0_CTSn */
@@ -194,6 +202,19 @@ &wkup_uart0 {
pinctrl-0 = <&wkup_uart0_pins_default>;
};
+&wkup_i2c0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wkup_i2c0_pins_default>;
+ clock-frequency = <400000>;
+
+ eeprom@50 {
+ /* CAV24C256WE-GT3 */
+ compatible = "atmel,24c256";
+ reg = <0x50>;
+ };
+};
+
&mcu_uart0 {
status = "okay";
pinctrl-names = "default";
--
2.40.0
Add wakeup and MCU uart. This allows the device tree usage in
bootloader and firmwares that can configure the same appropriately.
Signed-off-by: Nishanth Menon <[email protected]>
---
Depends on https://lore.kernel.org/linux-arm-kernel/[email protected]/
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 33 ++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 34e9bc89ac66..3f499e527523 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -20,6 +20,8 @@ chosen {
};
aliases {
+ serial0 = &wkup_uart0;
+ serial1 = &mcu_uart0;
serial2 = &main_uart8;
mmc0 = &main_sdhci0;
mmc1 = &main_sdhci1;
@@ -142,6 +144,24 @@ J784S4_IOPAD(0x020, PIN_INPUT, 7) /* (AJ35) MCAN15_RX.GPIO0_8 */
};
&wkup_pmx2 {
+ wkup_uart0_pins_default: wkup-uart0-pins-default {
+ pinctrl-single,pins = <
+ J721S2_WKUP_IOPAD(0x070, PIN_INPUT, 0) /* (L37) WKUP_GPIO0_6.WKUP_UART0_CTSn */
+ J721S2_WKUP_IOPAD(0x074, PIN_INPUT, 0) /* (L36) WKUP_GPIO0_7.WKUP_UART0_RTSn */
+ J721S2_WKUP_IOPAD(0x048, PIN_INPUT, 0) /* (K35) WKUP_UART0_RXD */
+ J721S2_WKUP_IOPAD(0x04c, PIN_INPUT, 0) /* (K34) WKUP_UART0_TXD */
+ >;
+ };
+
+ mcu_uart0_pins_default: mcu-uart0-pins-default {
+ pinctrl-single,pins = <
+ J784S4_WKUP_IOPAD(0x090, PIN_INPUT, 0) /* (H37) WKUP_GPIO0_14.MCU_UART0_CTSn */
+ J784S4_WKUP_IOPAD(0x094, PIN_OUTPUT, 0) /* (K37) WKUP_GPIO0_15.MCU_UART0_RTSn */
+ J784S4_WKUP_IOPAD(0x08c, PIN_INPUT, 0) /* (K38) WKUP_GPIO0_13.MCU_UART0_RXD */
+ J784S4_WKUP_IOPAD(0x088, PIN_OUTPUT, 0) /* (J37) WKUP_GPIO0_12.MCU_UART0_TXD */
+ >;
+ };
+
mcu_cpsw_pins_default: mcu-cpsw-pins-default {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x02c, PIN_INPUT, 0) /* (A35) MCU_RGMII1_RD0 */
@@ -167,6 +187,19 @@ J784S4_WKUP_IOPAD(0x030, PIN_INPUT, 0) /* (B35) MCU_MDIO0_MDIO */
};
};
+&wkup_uart0 {
+ /* Firmware usage */
+ status = "reserved";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wkup_uart0_pins_default>;
+};
+
+&mcu_uart0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_uart0_pins_default>;
+};
+
&main_uart8 {
status = "okay";
pinctrl-names = "default";
--
2.40.0
main_i2c0 is aliased as i2c0 which creates a problem for u-boot R5
SPL attempting to reuse the same definition in the common board
detection logic as it looks for the first i2c instance as the bus on
which to detect the eeprom to understand the board variant involved.
Switch main_i2c0 to i2c3 alias allowing us to introduce wkup_i2c0
and potentially space for mcu_i2c instances in the gap for follow on
patches.
Fixes: e20a06aca5c9 ("arm64: dts: ti: Add support for J784S4 EVM board")
Signed-off-by: Nishanth Menon <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 490d0b8624f3..34e9bc89ac66 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -23,7 +23,7 @@ aliases {
serial2 = &main_uart8;
mmc0 = &main_sdhci0;
mmc1 = &main_sdhci1;
- i2c0 = &main_i2c0;
+ i2c3 = &main_i2c0;
};
memory@80000000 {
--
2.40.0
Enable wakeup_i2c and use un-used pinmux. While at it, describe the
board detection eeprom present on the board.
Signed-off-by: Nishanth Menon <[email protected]>
---
Depends on https://lore.kernel.org/linux-arm-kernel/[email protected]/
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index 409fcbaf0126..a0e7872f31f2 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -25,6 +25,7 @@ aliases {
serial1 = &mcu_uart0;
serial2 = &main_uart8;
mmc1 = &main_sdhci1;
+ i2c0 = &wkup_i2c0;
i2c3 = &main_i2c0;
ethernet0 = &mcu_cpsw_port1;
};
@@ -152,6 +153,13 @@ J721S2_WKUP_IOPAD(0x04c, PIN_INPUT, 0) /* (K34) WKUP_UART0_TXD */
>;
};
+ wkup_i2c0_pins_default: wkup-i2c0-pins-default {
+ pinctrl-single,pins = <
+ J721S2_WKUP_IOPAD(0x98, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */
+ J721S2_WKUP_IOPAD(0x9c, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */
+ >;
+ };
+
mcu_uart0_pins_default: mcu-uart0-pins-default {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x08c, PIN_INPUT, 0) /* (K38) WKUP_GPIO0_13.MCU_UART0_RXD */
@@ -191,6 +199,19 @@ &wkup_uart0 {
pinctrl-0 = <&wkup_uart0_pins_default>;
};
+&wkup_i2c0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wkup_i2c0_pins_default>;
+ clock-frequency = <400000>;
+
+ eeprom@51 {
+ /* AT24C512C-MAHM-T */
+ compatible = "atmel,24c512";
+ reg = <0x51>;
+ };
+};
+
&mcu_uart0 {
status = "okay";
pinctrl-names = "default";
--
2.40.0
On 16:49-20230602, Nishanth Menon wrote:
> Hi,
>
> This series picks up from where [1] left off. After fixing the mux
> regions, introduce the basic i2c, uarts, ethernet, and a few alias
> fixups sprinkled along with it.
>
> This series also takes over [2] and rebased on top of [1] and my series.
>
> Test log:
Apologies on that, I seem to have forgotten to provide the link to the
test log. Anyways, here we go:
https://gist.github.com/nmenon/dca0ea1203c4e06d77f77b5c4a4a3e3f
>
> Dasnavis Sabiya (1):
> arm64: dts: ti: k3-am69-sk: Add pinmux for RPi Header
>
> Nishanth Menon (7):
> arm64: dts: ti: k3-j784s4-evm: Fix main_i2c0 alias
> arm64: dts: ti: k3-j784s4-evm: Add mcu and wakeup uarts
> arm64: dts: ti: k3-j784s4-evm: Enable wakeup_i2c0 and eeprom
> arm64: dts: ti: k3-am69-sk: Fix main_i2c0 alias
> arm64: dts: ti: k3-am69-sk: Enable mcu network port
> arm64: dts: ti: k3-am69-sk: Add mcu and wakeup uarts
> arm64: dts: ti: k3-am69-sk: Enable wakeup_i2c0 and eeprom
>
> arch/arm64/boot/dts/ti/k3-am69-sk.dts | 165 ++++++++++++++++++++++-
> arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 56 +++++++-
> 2 files changed, 219 insertions(+), 2 deletions(-)
>
> [1] https://lore.kernel.org/linux-arm-kernel/[email protected]/
> [2] https://lore.kernel.org/linux-arm-kernel/[email protected]/
> --
> 2.40.0
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Thanks Nishanth
On 6/3/2023 3:19 AM, Nishanth Menon wrote:
> Hi,
>
> This series picks up from where [1] left off. After fixing the mux
> regions, introduce the basic i2c, uarts, ethernet, and a few alias
> fixups sprinkled along with it.
>
> This series also takes over [2] and rebased on top of [1] and my series.
>
> Test log:
>
> Dasnavis Sabiya (1):
> arm64: dts: ti: k3-am69-sk: Add pinmux for RPi Header
>
> Nishanth Menon (7):
> arm64: dts: ti: k3-j784s4-evm: Fix main_i2c0 alias
> arm64: dts: ti: k3-j784s4-evm: Add mcu and wakeup uarts
> arm64: dts: ti: k3-j784s4-evm: Enable wakeup_i2c0 and eeprom
> arm64: dts: ti: k3-am69-sk: Fix main_i2c0 alias
> arm64: dts: ti: k3-am69-sk: Enable mcu network port
> arm64: dts: ti: k3-am69-sk: Add mcu and wakeup uarts
> arm64: dts: ti: k3-am69-sk: Enable wakeup_i2c0 and eeprom
>
> arch/arm64/boot/dts/ti/k3-am69-sk.dts | 165 ++++++++++++++++++++++-
> arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 56 +++++++-
> 2 files changed, 219 insertions(+), 2 deletions(-)
Reviewed-by: Udit Kumar <[email protected]>
>
> [1] https://lore.kernel.org/linux-arm-kernel/[email protected]/
> [2] https://lore.kernel.org/linux-arm-kernel/[email protected]/
Hi Nishanth Menon,
On Fri, 02 Jun 2023 16:49:29 -0500, Nishanth Menon wrote:
> This series picks up from where [1] left off. After fixing the mux
> regions, introduce the basic i2c, uarts, ethernet, and a few alias
> fixups sprinkled along with it.
>
> This series also takes over [2] and rebased on top of [1] and my series.
>
> Test log:
>
> [...]
I have applied the following to branch ti-k3-dts-next on [1].
Thank you!
[1/8] arm64: dts: ti: k3-j784s4-evm: Fix main_i2c0 alias
commit: c10a9df30e3401bd5a5ee43f1afd6c2b2ca75ad7
[2/8] arm64: dts: ti: k3-j784s4-evm: Add mcu and wakeup uarts
commit: 6fa5d37a2f34476613012789d4618c3dc6c68b35
[3/8] arm64: dts: ti: k3-j784s4-evm: Enable wakeup_i2c0 and eeprom
commit: 5dfbd1debc8ce5123310265cd44b5d99d272b1fe
[4/8] arm64: dts: ti: k3-am69-sk: Fix main_i2c0 alias
commit: b38c6ced4ec5b3f6260ff6cc2b71e8a3d8c897d7
[5/8] arm64: dts: ti: k3-am69-sk: Enable mcu network port
commit: 7b72bd25508de6a5eee2cb1679b9d4b8bc25de5a
[6/8] arm64: dts: ti: k3-am69-sk: Add mcu and wakeup uarts
commit: 45299dd1991b496ddab5ab4a86d7ae601e0e4c7f
[7/8] arm64: dts: ti: k3-am69-sk: Enable wakeup_i2c0 and eeprom
commit: 08ae12b637507cd22fbcdb82521b8b8a5ae96222
[8/8] arm64: dts: ti: k3-am69-sk: Add pinmux for RPi Header
commit: 0ec1a48d99ddd11c265f7f1b2573fb2c8e0db0ab
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Vignesh