/* * Copyright (C) 2022, STMicroelectronics - All Rights Reserved * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef STM32MP_RAM_H #define STM32MP_RAM_H #include #include #define PARAM(x, y) \ { \ .name = x, \ .offset = offsetof(struct stm32mp_ddr_config, y), \ .size = sizeof(config.y) / sizeof(uint32_t), \ } #define CTL_PARAM(x) PARAM("st,ctl-"#x, c_##x) #define PHY_PARAM(x) PARAM("st,phy-"#x, p_##x) struct stm32mp_ddr_param { const char *name; /* Name in DT */ const uint32_t offset; /* Offset in config struct */ const uint32_t size; /* Size of parameters */ }; int stm32mp_ddr_dt_get_info(void *fdt, int node, struct stm32mp_ddr_info *info); int stm32mp_ddr_dt_get_param(void *fdt, int node, const struct stm32mp_ddr_param *param, uint32_t param_size, uintptr_t config); #endif /* STM32MP_RAM_H */