As the j722s and am62p resume sequence differs on the way they are
detecting that the board is resuming, we should have a specific
compatible for each one of them.

For that purpose, introduce ti,j722s-ddrss compatible.

Signed-off-by: Richard Genoud (TI) <[email protected]>
---
 arch/arm/dts/k3-j722s-r5-evm.dts | 4 ++++
 drivers/ram/k3-ddrss/k3-ddrss.c  | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/arch/arm/dts/k3-j722s-r5-evm.dts b/arch/arm/dts/k3-j722s-r5-evm.dts
index e1ef5d181ed7..cc4a5910673b 100644
--- a/arch/arm/dts/k3-j722s-r5-evm.dts
+++ b/arch/arm/dts/k3-j722s-r5-evm.dts
@@ -11,6 +11,10 @@
 #include "k3-am62a-ddr.dtsi"
 #include "k3-j722s-r5.dtsi"
 
+&memorycontroller {
+       compatible = "ti,j722s-ddrss", "ti,am62a-ddrss";
+};
+
 /* WKUP UART0 is used for DM firmware logs */
 &wkup_uart0 {
        status = "okay";
diff --git a/drivers/ram/k3-ddrss/k3-ddrss.c b/drivers/ram/k3-ddrss/k3-ddrss.c
index 6185e9be5fe3..42992412a071 100644
--- a/drivers/ram/k3-ddrss/k3-ddrss.c
+++ b/drivers/ram/k3-ddrss/k3-ddrss.c
@@ -19,6 +19,7 @@
 #include <power-domain.h>
 #include <wait_bit.h>
 #include <power/regulator.h>
+#include <mach/hardware.h>
 #include <mach/k3-ddr.h>
 
 #include "k3-ddrss-lpm.h"
@@ -1301,11 +1302,18 @@ static const struct k3_ddrss_data j721s2_data = {
        .flags = MULTI_DDR_SUBSYSTEM,
 };
 
+static const struct k3_ddrss_data j722s_data = {
+       .flags = SINGLE_DDR_SUBSYSTEM,
+       .is_lpm_resume = j7xx_board_is_resuming,
+       .ddrss_deassert_retention = am62xx_ddrss_deassert_retention,
+};
+
 static const struct udevice_id k3_ddrss_ids[] = {
        {.compatible = "ti,am62a-ddrss", .data = (ulong)&am62xx_data, },
        {.compatible = "ti,am64-ddrss", .data = (ulong)&k3_data, },
        {.compatible = "ti,j721e-ddrss", .data = (ulong)&k3_data, },
        {.compatible = "ti,j721s2-ddrss", .data = (ulong)&j721s2_data, },
+       {.compatible = "ti,j722s-ddrss", .data = (ulong)&j722s_data, },
        {}
 };
 

Reply via email to