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, }, {} };

