| /* SPDX-License-Identifier: BSD-3-Clause */ |
| /* |
| * Copyright (c) 2025, Rockchip Electronics Co., Ltd. |
| */ |
| |
| #ifndef __PLAT_ROCKCHIP_DMC_RK3576_H__ |
| #define __PLAT_ROCKCHIP_DMC_RK3576_H__ |
| |
| #define MAX_CH_NUM (2) |
| #define CTL_PORT_NUM (5) |
| |
| /* DDR_GRF Register */ |
| #define GRF_CH_CON(ch, n) ((((ch) % 2) * 0x100) + ((n) * 4)) |
| #define DDR_GRF_CH_STATUS16(ch) (0x220 + ((ch) * 0x100)) |
| #define GRF_DDRPHY_CON(n) (0x530 + ((n) * 4)) |
| #define GRF_DDRPHY_CON0(ch) (0x530 + (((ch) % 2) * 0x4)) |
| #define DDR_GRF_COMMON_CON(n) (0x540 + ((n) * 4)) |
| |
| /* PMUGRF Register */ |
| #define PMUGRF_OS_REG(n) (0x200 + ((n) * 4)) |
| |
| struct low_power_st { |
| uint32_t pwrctl; |
| uint32_t clkgatectl; |
| uint32_t dfi_lp_mode_apb; |
| uint32_t grf_ddr_con0; |
| uint32_t grf_ddr_con1; |
| uint32_t grf_ddr_con6; |
| uint32_t grf_ddr_con7; |
| uint32_t grf_ddr_con9; |
| uint32_t grf_ddrphy_con0; |
| uint32_t hwlp_0; |
| uint32_t hwlp_c; |
| uint32_t pcl_pd; |
| }; |
| |
| struct rk3576_dmc_config { |
| struct low_power_st low_power[MAX_CH_NUM]; |
| }; |
| |
| void dmc_save(void); |
| void dmc_restore(void); |
| |
| #endif /* __PLAT_ROCKCHIP_DMC_RK3576_H__ */ |