mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
arm: imx8mp: Add new variant parts support
iMX8MP added 4 new variant parts for low cost industrial and HMI. The parts disabled HIFI DSP and ISP while other functions are enabled. Part number: - MIMX8ML2DVNLZAB and MIMX8ML2CVNKZAB (2-core) - MIMX8ML5DVNLZAB and MIMX8ML5CVNKZAB (4-core) Signed-off-by: Ye Li <ye.li@nxp.com>
This commit is contained in:
@@ -48,6 +48,8 @@
|
||||
#define MXC_CPU_IMX8MPL 0x187 /* dummy ID */
|
||||
#define MXC_CPU_IMX8MPD 0x188 /* dummy ID */
|
||||
#define MXC_CPU_IMX8MPUL 0x189 /* dummy ID */
|
||||
#define MXC_CPU_IMX8MPD2 0x18c /* dummy ID */
|
||||
#define MXC_CPU_IMX8MP5 0x18d /* dummy ID */
|
||||
#define MXC_CPU_IMX8QXP_A0 0x90 /* dummy ID */
|
||||
#define MXC_CPU_IMX8QM 0x91 /* dummy ID */
|
||||
#define MXC_CPU_IMX8QXP 0x92 /* dummy ID */
|
||||
|
||||
@@ -74,9 +74,12 @@ struct bd_info;
|
||||
#define is_imx8mnud() (is_cpu_type(MXC_CPU_IMX8MNUD))
|
||||
#define is_imx8mnus() (is_cpu_type(MXC_CPU_IMX8MNUS))
|
||||
#define is_imx8mp() (is_cpu_type(MXC_CPU_IMX8MP) || is_cpu_type(MXC_CPU_IMX8MPD) || \
|
||||
is_cpu_type(MXC_CPU_IMX8MPL) || is_cpu_type(MXC_CPU_IMX8MP6) || is_cpu_type(MXC_CPU_IMX8MPUL))
|
||||
is_cpu_type(MXC_CPU_IMX8MPL) || is_cpu_type(MXC_CPU_IMX8MP6) || is_cpu_type(MXC_CPU_IMX8MPUL) || \
|
||||
is_cpu_type(MXC_CPU_IMX8MP5) || is_cpu_type(MXC_CPU_IMX8MPD2))
|
||||
#define is_imx8mpd() (is_cpu_type(MXC_CPU_IMX8MPD))
|
||||
#define is_imx8mpd2() (is_cpu_type(MXC_CPU_IMX8MPD2))
|
||||
#define is_imx8mpl() (is_cpu_type(MXC_CPU_IMX8MPL))
|
||||
#define is_imx8mp5() (is_cpu_type(MXC_CPU_IMX8MP5))
|
||||
#define is_imx8mp6() (is_cpu_type(MXC_CPU_IMX8MP6))
|
||||
#define is_imx8mpul() (is_cpu_type(MXC_CPU_IMX8MPUL))
|
||||
|
||||
|
||||
@@ -99,10 +99,14 @@ const char *get_imx_type(u32 imxtype)
|
||||
switch (imxtype) {
|
||||
case MXC_CPU_IMX8MP:
|
||||
return "8MP[8]"; /* Quad-core version of the imx8mp */
|
||||
case MXC_CPU_IMX8MPD2:
|
||||
return "8MP Dual[2]"; /* Dual-core version of the imx8mp, low cost industrial & HMI */
|
||||
case MXC_CPU_IMX8MPD:
|
||||
return "8MP Dual[3]"; /* Dual-core version of the imx8mp */
|
||||
case MXC_CPU_IMX8MPL:
|
||||
return "8MP Lite[4]"; /* Quad-core Lite version of the imx8mp */
|
||||
case MXC_CPU_IMX8MP5:
|
||||
return "8MP[5]"; /* Quad-core version of the imx8mp, low cost industrial & HMI */
|
||||
case MXC_CPU_IMX8MP6:
|
||||
return "8MP[6]"; /* Quad-core version of the imx8mp, NPU fused */
|
||||
case MXC_CPU_IMX8MPUL:
|
||||
|
||||
@@ -442,7 +442,7 @@ static u32 get_cpu_variant_type(u32 type)
|
||||
u32 flag = 0;
|
||||
|
||||
if ((value0 & 0xc0000) == 0x80000)
|
||||
return MXC_CPU_IMX8MPD;
|
||||
flag |= (1 << 10);
|
||||
|
||||
/* vpu disabled */
|
||||
if ((value0 & 0x43000000) == 0x43000000)
|
||||
@@ -475,6 +475,12 @@ static u32 get_cpu_variant_type(u32 type)
|
||||
return MXC_CPU_IMX8MPL;
|
||||
case 2:
|
||||
return MXC_CPU_IMX8MP6;
|
||||
case 0x400:
|
||||
return MXC_CPU_IMX8MPD;
|
||||
case 0x4:
|
||||
return MXC_CPU_IMX8MP5;
|
||||
case 0x404:
|
||||
return MXC_CPU_IMX8MPD2;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1433,13 +1439,15 @@ usb_modify_speed:
|
||||
if (is_imx8mpul() || is_imx8mpl() || is_imx8mp6())
|
||||
disable_npu_nodes(blob);
|
||||
|
||||
if (is_imx8mpul() || is_imx8mpl())
|
||||
if (is_imx8mpul() || is_imx8mpl() ||
|
||||
is_imx8mpd2() || is_imx8mp5())
|
||||
disable_isp_nodes(blob);
|
||||
|
||||
if (is_imx8mpul() || is_imx8mpl() || is_imx8mp6())
|
||||
if (is_imx8mpul() || is_imx8mpl() || is_imx8mp6() ||
|
||||
is_imx8mpd2() || is_imx8mp5())
|
||||
disable_dsp_nodes(blob);
|
||||
|
||||
if (is_imx8mpd())
|
||||
if (is_imx8mpd() || is_imx8mpd2())
|
||||
disable_cpu_nodes(blob, nodes_path, 2, 4);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -63,10 +63,14 @@ static const char *get_imx_type_str(u32 imxtype)
|
||||
return "8MNano UltraLite Solo";/* Single-core UltraLite version of the imx8mn */
|
||||
case MXC_CPU_IMX8MP:
|
||||
return "8MP[8]"; /* Quad-core version of the imx8mp */
|
||||
case MXC_CPU_IMX8MPD2:
|
||||
return "8MP Dual[2]"; /* Dual-core version of the imx8mp, low cost industrial & HMI */
|
||||
case MXC_CPU_IMX8MPD:
|
||||
return "8MP Dual[3]"; /* Dual-core version of the imx8mp */
|
||||
case MXC_CPU_IMX8MPL:
|
||||
return "8MP Lite[4]"; /* Quad-core Lite version of the imx8mp */
|
||||
case MXC_CPU_IMX8MP5:
|
||||
return "8MP[5]"; /* Quad-core version of the imx8mp, low cost industrial & HMI */
|
||||
case MXC_CPU_IMX8MP6:
|
||||
return "8MP[6]"; /* Quad-core version of the imx8mp, NPU fused */
|
||||
case MXC_CPU_IMX8MQ:
|
||||
|
||||
Reference in New Issue
Block a user