[PATCH 0/4] ESM support for J721E and J7200

Add support for ESM (Error Signalling Module) in J721E and J7200. The ESM error pin output is routed to the PMIC (Power Management IC) which can reset the board. The dts nodes for SoC ESM modules are added (if not already) to enable them.
Gowtham Tammana (2): arm: dts: k3-j7200: Add Main domain ESM support board: ti: j721e: initialize ESM support for J7200 SOM
Neha Malcom Francis (2): arm: dts: k3-j721e: Refine MAIN domain ESM support configs: j7200_evm_r5: Add ESM config for J7200
arch/arm/dts/k3-j7200-main.dtsi | 7 +++++++ arch/arm/dts/k3-j7200.dtsi | 1 + arch/arm/dts/k3-j721e-main.dtsi | 7 +++++++ arch/arm/dts/k3-j721e-r5-common-proc-board.dts | 9 --------- arch/arm/dts/k3-j721e.dtsi | 1 + board/ti/j721e/evm.c | 3 ++- configs/j7200_evm_r5_defconfig | 1 + 7 files changed, 19 insertions(+), 10 deletions(-)

MAIN domain ESM support was already added for J721E to configure main domain watchdog interrupts to generate ESM pin events. Move the main_esm node to be in sync with kernel dts. Also add register mapping for ESM in J721E.
Signed-off-by: Neha Malcom Francis n-francis@ti.com --- arch/arm/dts/k3-j721e-main.dtsi | 7 +++++++ arch/arm/dts/k3-j721e-r5-common-proc-board.dts | 9 --------- arch/arm/dts/k3-j721e.dtsi | 1 + 3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/arch/arm/dts/k3-j721e-main.dtsi b/arch/arm/dts/k3-j721e-main.dtsi index cf3482376c..2142f9c163 100644 --- a/arch/arm/dts/k3-j721e-main.dtsi +++ b/arch/arm/dts/k3-j721e-main.dtsi @@ -1940,4 +1940,11 @@ bus_freq = <1000000>; }; }; + + main_esm: esm@700000 { + compatible = "ti,j721e-esm"; + reg = <0x0 0x700000 0x0 0x1000>; + ti,esm-pins = <344>, <345>; + bootph-pre-ram; + }; }; diff --git a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts index 1b40cf2580..376d511446 100644 --- a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts +++ b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts @@ -88,15 +88,6 @@ }; };
-&cbass_main { - main_esm: esm@700000 { - compatible = "ti,j721e-esm"; - reg = <0x0 0x700000 0x0 0x1000>; - ti,esm-pins = <344>, <345>; - bootph-pre-ram; - }; -}; - &dmsc { mboxes= <&mcu_secproxy 8>, <&mcu_secproxy 6>, <&mcu_secproxy 5>; mbox-names = "tx", "rx", "notify"; diff --git a/arch/arm/dts/k3-j721e.dtsi b/arch/arm/dts/k3-j721e.dtsi index f0587fde14..d7f73f61db 100644 --- a/arch/arm/dts/k3-j721e.dtsi +++ b/arch/arm/dts/k3-j721e.dtsi @@ -126,6 +126,7 @@ #size-cells = <2>; ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */ + <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */ <0x00 0x00900000 0x00 0x00900000 0x00 0x00012000>, /* serdes */ <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */ <0x00 0x06000000 0x00 0x06000000 0x00 0x00400000>, /* USBSS0 */

From: Gowtham Tammana g-tammana@ti.com
Main domain ESM support is needed to configure main domain watchdog interrupts to generate ESM pin events. On J7200 boards ESM error pin output is propagated to PMIC to generate reset.
Signed-off-by: Gowtham Tammana g-tammana@ti.com Signed-off-by: Neha Malcom Francis n-francis@ti.com --- arch/arm/dts/k3-j7200-main.dtsi | 7 +++++++ arch/arm/dts/k3-j7200.dtsi | 1 + 2 files changed, 8 insertions(+)
diff --git a/arch/arm/dts/k3-j7200-main.dtsi b/arch/arm/dts/k3-j7200-main.dtsi index e8a41d09b4..d8db2d2d01 100644 --- a/arch/arm/dts/k3-j7200-main.dtsi +++ b/arch/arm/dts/k3-j7200-main.dtsi @@ -774,4 +774,11 @@ ti,loczrama = <1>; }; }; + + main_esm: esm@700000 { + compatible = "ti,j721e-esm"; + reg = <0x0 0x700000 0x0 0x1000>; + ti,esm-pins = <656>, <657>; + bootph-pre-ram; + }; }; diff --git a/arch/arm/dts/k3-j7200.dtsi b/arch/arm/dts/k3-j7200.dtsi index b7005b8031..9252d97399 100644 --- a/arch/arm/dts/k3-j7200.dtsi +++ b/arch/arm/dts/k3-j7200.dtsi @@ -124,6 +124,7 @@ #size-cells = <2>; ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */ + <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */ <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */ <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */ <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */

From: Gowtham Tammana g-tammana@ti.com
ESM support is available for J7200X-PM2-SOM board, as such enable support for it.
Signed-off-by: Gowtham Tammana g-tammana@ti.com Signed-off-by: Neha Malcom Francis n-francis@ti.com --- board/ti/j721e/evm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c index 2398bead78..90c339fcad 100644 --- a/board/ti/j721e/evm.c +++ b/board/ti/j721e/evm.c @@ -543,7 +543,8 @@ void spl_board_init(void) }
#ifdef CONFIG_ESM_K3 - if (board_ti_k3_is("J721EX-PM2-SOM")) { + if (board_ti_k3_is("J721EX-PM2-SOM") || + board_ti_k3_is("J7200X-PM2-SOM")) { ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(k3_esm), &dev); if (ret)

Add CONFIG_ESM_K3 to enable ESM initialization in J7200.
Signed-off-by: Neha Malcom Francis n-francis@ti.com --- configs/j7200_evm_r5_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/j7200_evm_r5_defconfig b/configs/j7200_evm_r5_defconfig index e149ccb9a4..b846f830c5 100644 --- a/configs/j7200_evm_r5_defconfig +++ b/configs/j7200_evm_r5_defconfig @@ -168,3 +168,4 @@ CONFIG_FS_EXT4=y CONFIG_FS_FAT_MAX_CLUSTSIZE=16384 CONFIG_LIB_RATIONAL=y CONFIG_SPL_LIB_RATIONAL=y +CONFIG_ESM_K3=y

On Tue, May 23, 2023 at 01:19:47PM +0530, Neha Malcom Francis wrote:
Add support for ESM (Error Signalling Module) in J721E and J7200. The ESM error pin output is routed to the PMIC (Power Management IC) which can reset the board. The dts nodes for SoC ESM modules are added (if not already) to enable them.
Gowtham Tammana (2): arm: dts: k3-j7200: Add Main domain ESM support board: ti: j721e: initialize ESM support for J7200 SOM
Neha Malcom Francis (2): arm: dts: k3-j721e: Refine MAIN domain ESM support configs: j7200_evm_r5: Add ESM config for J7200
arch/arm/dts/k3-j7200-main.dtsi | 7 +++++++ arch/arm/dts/k3-j7200.dtsi | 1 + arch/arm/dts/k3-j721e-main.dtsi | 7 +++++++ arch/arm/dts/k3-j721e-r5-common-proc-board.dts | 9 --------- arch/arm/dts/k3-j721e.dtsi | 1 + board/ti/j721e/evm.c | 3 ++- configs/j7200_evm_r5_defconfig | 1 + 7 files changed, 19 insertions(+), 10 deletions(-)
Since we're touching the dts files, adding Nishanth.

On 09:56-20230523, Tom Rini wrote:
On Tue, May 23, 2023 at 01:19:47PM +0530, Neha Malcom Francis wrote:
Add support for ESM (Error Signalling Module) in J721E and J7200. The ESM error pin output is routed to the PMIC (Power Management IC) which can reset the board. The dts nodes for SoC ESM modules are added (if not already) to enable them.
Gowtham Tammana (2): arm: dts: k3-j7200: Add Main domain ESM support board: ti: j721e: initialize ESM support for J7200 SOM
Neha Malcom Francis (2): arm: dts: k3-j721e: Refine MAIN domain ESM support configs: j7200_evm_r5: Add ESM config for J7200
arch/arm/dts/k3-j7200-main.dtsi | 7 +++++++ arch/arm/dts/k3-j7200.dtsi | 1 + arch/arm/dts/k3-j721e-main.dtsi | 7 +++++++ arch/arm/dts/k3-j721e-r5-common-proc-board.dts | 9 --------- arch/arm/dts/k3-j721e.dtsi | 1 + board/ti/j721e/evm.c | 3 ++- configs/j7200_evm_r5_defconfig | 1 + 7 files changed, 19 insertions(+), 10 deletions(-)
Since we're touching the dts files, adding Nishanth.
Easy NAK ;) -> K.org master first please. and then sync back and we dont need to do these piecemeal fixups.
participants (3)
-
Neha Malcom Francis
-
Nishanth Menon
-
Tom Rini