mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00
feat(stm32mp1): add part numbers for STM32MP13
Add the new part numbers and adapt the functions that use them. There is no package number in OTP as they all share the same GPIO banks. This part is then stubbed for STM32MP13. Change-Id: I13414326b140119aece662bf8d82b387dece0dcc Signed-off-by: Yann Gautier <yann.gautier@st.com>
This commit is contained in:
parent
ef0b8a6c1b
commit
30eea116cd
2 changed files with 87 additions and 0 deletions
|
@ -36,6 +36,23 @@
|
|||
/*******************************************************************************
|
||||
* CHIP ID
|
||||
******************************************************************************/
|
||||
#if STM32MP13
|
||||
#define STM32MP1_CHIP_ID U(0x501)
|
||||
|
||||
#define STM32MP135C_PART_NB U(0x05010000)
|
||||
#define STM32MP135A_PART_NB U(0x05010001)
|
||||
#define STM32MP133C_PART_NB U(0x050100C0)
|
||||
#define STM32MP133A_PART_NB U(0x050100C1)
|
||||
#define STM32MP131C_PART_NB U(0x050106C8)
|
||||
#define STM32MP131A_PART_NB U(0x050106C9)
|
||||
#define STM32MP135F_PART_NB U(0x05010800)
|
||||
#define STM32MP135D_PART_NB U(0x05010801)
|
||||
#define STM32MP133F_PART_NB U(0x050108C0)
|
||||
#define STM32MP133D_PART_NB U(0x050108C1)
|
||||
#define STM32MP131F_PART_NB U(0x05010EC8)
|
||||
#define STM32MP131D_PART_NB U(0x05010EC9)
|
||||
#endif
|
||||
#if STM32MP15
|
||||
#define STM32MP1_CHIP_ID U(0x500)
|
||||
|
||||
#define STM32MP157C_PART_NB U(0x05000000)
|
||||
|
@ -50,6 +67,7 @@
|
|||
#define STM32MP153D_PART_NB U(0x050000A5)
|
||||
#define STM32MP151F_PART_NB U(0x050000AE)
|
||||
#define STM32MP151D_PART_NB U(0x050000AF)
|
||||
#endif
|
||||
|
||||
#define STM32MP1_REV_B U(0x2000)
|
||||
#if STM32MP13
|
||||
|
@ -62,10 +80,12 @@
|
|||
/*******************************************************************************
|
||||
* PACKAGE ID
|
||||
******************************************************************************/
|
||||
#if STM32MP15
|
||||
#define PKG_AA_LFBGA448 U(4)
|
||||
#define PKG_AB_LFBGA354 U(3)
|
||||
#define PKG_AC_TFBGA361 U(2)
|
||||
#define PKG_AD_TFBGA257 U(1)
|
||||
#endif
|
||||
|
||||
/*******************************************************************************
|
||||
* STM32MP1 memory map related constants
|
||||
|
@ -370,7 +390,9 @@ enum ddr_type {
|
|||
/* OTP labels */
|
||||
#define CFG0_OTP "cfg0_otp"
|
||||
#define PART_NUMBER_OTP "part_number_otp"
|
||||
#if STM32MP15
|
||||
#define PACKAGE_OTP "package_otp"
|
||||
#endif
|
||||
#define HW2_OTP "hw2_otp"
|
||||
#define NAND_OTP "nand_otp"
|
||||
#define MONOTONIC_OTP "monotonic_otp"
|
||||
|
@ -382,12 +404,19 @@ enum ddr_type {
|
|||
#define CFG0_CLOSED_DEVICE BIT(6)
|
||||
|
||||
/* PART NUMBER */
|
||||
#if STM32MP13
|
||||
#define PART_NUMBER_OTP_PART_MASK GENMASK_32(11, 0)
|
||||
#endif
|
||||
#if STM32MP15
|
||||
#define PART_NUMBER_OTP_PART_MASK GENMASK_32(7, 0)
|
||||
#endif
|
||||
#define PART_NUMBER_OTP_PART_SHIFT 0
|
||||
|
||||
/* PACKAGE */
|
||||
#if STM32MP15
|
||||
#define PACKAGE_OTP_PKG_MASK GENMASK_32(29, 27)
|
||||
#define PACKAGE_OTP_PKG_SHIFT 27
|
||||
#endif
|
||||
|
||||
/* IWDG OTP */
|
||||
#define HW2_OTP_IWDG_HW_POS U(3)
|
||||
|
|
|
@ -319,6 +319,7 @@ static uint32_t get_part_number(void)
|
|||
return part_number;
|
||||
}
|
||||
|
||||
#if STM32MP15
|
||||
static uint32_t get_cpu_package(void)
|
||||
{
|
||||
uint32_t package;
|
||||
|
@ -332,6 +333,7 @@ static uint32_t get_cpu_package(void)
|
|||
|
||||
return package;
|
||||
}
|
||||
#endif
|
||||
|
||||
void stm32mp_get_soc_name(char name[STM32_SOC_NAME_SIZE])
|
||||
{
|
||||
|
@ -339,6 +341,45 @@ void stm32mp_get_soc_name(char name[STM32_SOC_NAME_SIZE])
|
|||
|
||||
/* MPUs Part Numbers */
|
||||
switch (get_part_number()) {
|
||||
#if STM32MP13
|
||||
case STM32MP135F_PART_NB:
|
||||
cpu_s = "135F";
|
||||
break;
|
||||
case STM32MP135D_PART_NB:
|
||||
cpu_s = "135D";
|
||||
break;
|
||||
case STM32MP135C_PART_NB:
|
||||
cpu_s = "135C";
|
||||
break;
|
||||
case STM32MP135A_PART_NB:
|
||||
cpu_s = "135A";
|
||||
break;
|
||||
case STM32MP133F_PART_NB:
|
||||
cpu_s = "133F";
|
||||
break;
|
||||
case STM32MP133D_PART_NB:
|
||||
cpu_s = "133D";
|
||||
break;
|
||||
case STM32MP133C_PART_NB:
|
||||
cpu_s = "133C";
|
||||
break;
|
||||
case STM32MP133A_PART_NB:
|
||||
cpu_s = "133A";
|
||||
break;
|
||||
case STM32MP131F_PART_NB:
|
||||
cpu_s = "131F";
|
||||
break;
|
||||
case STM32MP131D_PART_NB:
|
||||
cpu_s = "131D";
|
||||
break;
|
||||
case STM32MP131C_PART_NB:
|
||||
cpu_s = "131C";
|
||||
break;
|
||||
case STM32MP131A_PART_NB:
|
||||
cpu_s = "131A";
|
||||
break;
|
||||
#endif
|
||||
#if STM32MP15
|
||||
case STM32MP157C_PART_NB:
|
||||
cpu_s = "157C";
|
||||
break;
|
||||
|
@ -375,12 +416,18 @@ void stm32mp_get_soc_name(char name[STM32_SOC_NAME_SIZE])
|
|||
case STM32MP151D_PART_NB:
|
||||
cpu_s = "151D";
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
cpu_s = "????";
|
||||
break;
|
||||
}
|
||||
|
||||
/* Package */
|
||||
#if STM32MP13
|
||||
/* On STM32MP13, package is not present in OTP */
|
||||
pkg = "";
|
||||
#endif
|
||||
#if STM32MP15
|
||||
switch (get_cpu_package()) {
|
||||
case PKG_AA_LFBGA448:
|
||||
pkg = "AA";
|
||||
|
@ -398,6 +445,7 @@ void stm32mp_get_soc_name(char name[STM32_SOC_NAME_SIZE])
|
|||
pkg = "??";
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* REVISION */
|
||||
switch (stm32mp_get_chip_version()) {
|
||||
|
@ -488,12 +536,22 @@ bool stm32mp_is_auth_supported(void)
|
|||
bool supported = false;
|
||||
|
||||
switch (get_part_number()) {
|
||||
#if STM32MP13
|
||||
case STM32MP131C_PART_NB:
|
||||
case STM32MP131F_PART_NB:
|
||||
case STM32MP133C_PART_NB:
|
||||
case STM32MP133F_PART_NB:
|
||||
case STM32MP135C_PART_NB:
|
||||
case STM32MP135F_PART_NB:
|
||||
#endif
|
||||
#if STM32MP15
|
||||
case STM32MP151C_PART_NB:
|
||||
case STM32MP151F_PART_NB:
|
||||
case STM32MP153C_PART_NB:
|
||||
case STM32MP153F_PART_NB:
|
||||
case STM32MP157C_PART_NB:
|
||||
case STM32MP157F_PART_NB:
|
||||
#endif
|
||||
supported = true;
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Add table
Reference in a new issue