mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
arm64: versal-net: Add support for SPP production version
Production version restarting platform version field from 0 that's why add new calculation to be able to use different DT for these platforms. Requested DT names for production silicons for IPP/SPP and EMU platform are versal-net-ipp-rev2.0.dts and versal-net-emu-rev2.0.dts. If platform version increase numbers revision can be even higher. As of today platform version is 2 that's why expected is rev2.2. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/691e166b3cf2643d7edf482bda5500163eecb35a.1684311689.git.michal.simek@amd.com
This commit is contained in:
parent
f5aa35c932
commit
3e95bf9b76
2 changed files with 25 additions and 11 deletions
|
@ -75,32 +75,45 @@ char *soc_name_decode(void)
|
|||
|
||||
bool soc_detection(void)
|
||||
{
|
||||
u32 version;
|
||||
u32 version, ps_version;
|
||||
|
||||
version = readl(PMC_TAP_VERSION);
|
||||
platform_id = FIELD_GET(PLATFORM_MASK, version);
|
||||
ps_version = FIELD_GET(PS_VERSION_MASK, version);
|
||||
|
||||
debug("idcode %x, version %x, usercode %x\n",
|
||||
readl(PMC_TAP_IDCODE), version,
|
||||
readl(PMC_TAP_USERCODE));
|
||||
|
||||
debug("pmc_ver %lx, ps version %lx, rtl version %lx\n",
|
||||
debug("pmc_ver %lx, ps version %x, rtl version %lx\n",
|
||||
FIELD_GET(PMC_VERSION_MASK, version),
|
||||
FIELD_GET(PS_VERSION_MASK, version),
|
||||
ps_version,
|
||||
FIELD_GET(RTL_VERSION_MASK, version));
|
||||
|
||||
platform_version = FIELD_GET(PLATFORM_VERSION_MASK, version);
|
||||
|
||||
if (platform_id == VERSAL_NET_SPP ||
|
||||
platform_id == VERSAL_NET_EMU) {
|
||||
/*
|
||||
* 9 is diff for
|
||||
* 0 means 0.9 version
|
||||
* 1 means 1.0 version
|
||||
* 2 means 1.1 version
|
||||
* etc,
|
||||
*/
|
||||
platform_version += 9;
|
||||
if (ps_version == PS_VERSION_PRODUCTION) {
|
||||
/*
|
||||
* ES1 version ends at 1.9 version where there was +9
|
||||
* used because of IPP/SPP conversion. Production
|
||||
* version have platform_version started from 0 again
|
||||
* that's why adding +20 to continue with the same line.
|
||||
* It means the last ES1 version ends at 1.9 version and
|
||||
* new PRODUCTION line starts at 2.0.
|
||||
*/
|
||||
platform_version += 20;
|
||||
} else {
|
||||
/*
|
||||
* 9 is diff for
|
||||
* 0 means 0.9 version
|
||||
* 1 means 1.0 version
|
||||
* 2 means 1.1 version
|
||||
* etc,
|
||||
*/
|
||||
platform_version += 9;
|
||||
}
|
||||
}
|
||||
|
||||
debug("Platform id: %d version: %d.%d\n", platform_id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue