drivers: hwinfo: Add support for MIMXRT1180
Add HWINFO support for MIMXRT1180 Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This commit is contained in:
parent
ad22d34d16
commit
c3533472c1
3 changed files with 12 additions and 1 deletions
|
@ -126,6 +126,8 @@ configuration supports the following hardware features:
|
||||||
+-----------+------------+-------------------------------------+
|
+-----------+------------+-------------------------------------+
|
||||||
| RTWDOG | on-chip | rtwdog |
|
| RTWDOG | on-chip | rtwdog |
|
||||||
+-----------+------------+-------------------------------------+
|
+-----------+------------+-------------------------------------+
|
||||||
|
| HWINFO | on-chip | Unique device serial number |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
|
||||||
The default configuration can be found in the defconfig file:
|
The default configuration can be found in the defconfig file:
|
||||||
:zephyr_file:`boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33_defconfig`
|
:zephyr_file:`boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33_defconfig`
|
||||||
|
|
|
@ -122,7 +122,7 @@ config HWINFO_MCUX_SYSCON
|
||||||
config HWINFO_IMXRT
|
config HWINFO_IMXRT
|
||||||
bool "NXP i.mx RT device ID"
|
bool "NXP i.mx RT device ID"
|
||||||
default y
|
default y
|
||||||
depends on SOC_SERIES_IMXRT10XX || SOC_SERIES_IMXRT11XX
|
depends on SOC_SERIES_IMXRT10XX || SOC_SERIES_IMXRT11XX || SOC_SERIES_IMXRT118X
|
||||||
select HWINFO_HAS_DRIVER
|
select HWINFO_HAS_DRIVER
|
||||||
help
|
help
|
||||||
Enable NXP i.mx RT hwinfo driver.
|
Enable NXP i.mx RT hwinfo driver.
|
||||||
|
|
|
@ -10,7 +10,11 @@
|
||||||
#include <zephyr/sys/byteorder.h>
|
#include <zephyr/sys/byteorder.h>
|
||||||
|
|
||||||
struct imxrt_uid {
|
struct imxrt_uid {
|
||||||
|
#if CONFIG_SOC_SERIES_IMXRT118X
|
||||||
|
uint32_t id[4];
|
||||||
|
#else
|
||||||
uint32_t id[2];
|
uint32_t id[2];
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
ssize_t z_impl_hwinfo_get_device_id(uint8_t *buffer, size_t length)
|
ssize_t z_impl_hwinfo_get_device_id(uint8_t *buffer, size_t length)
|
||||||
|
@ -20,6 +24,11 @@ ssize_t z_impl_hwinfo_get_device_id(uint8_t *buffer, size_t length)
|
||||||
#ifdef CONFIG_SOC_SERIES_IMXRT11XX
|
#ifdef CONFIG_SOC_SERIES_IMXRT11XX
|
||||||
dev_id.id[0] = sys_cpu_to_be32(OCOTP->FUSEN[17].FUSE);
|
dev_id.id[0] = sys_cpu_to_be32(OCOTP->FUSEN[17].FUSE);
|
||||||
dev_id.id[1] = sys_cpu_to_be32(OCOTP->FUSEN[16].FUSE);
|
dev_id.id[1] = sys_cpu_to_be32(OCOTP->FUSEN[16].FUSE);
|
||||||
|
#elif CONFIG_SOC_SERIES_IMXRT118X
|
||||||
|
dev_id.id[0] = sys_cpu_to_be32(OCOTP_FSB->OTP_SHADOW_PARTA[15]);
|
||||||
|
dev_id.id[1] = sys_cpu_to_be32(OCOTP_FSB->OTP_SHADOW_PARTA[14]);
|
||||||
|
dev_id.id[2] = sys_cpu_to_be32(OCOTP_FSB->OTP_SHADOW_PARTA[13]);
|
||||||
|
dev_id.id[3] = sys_cpu_to_be32(OCOTP_FSB->OTP_SHADOW_PARTA[12]);
|
||||||
#else
|
#else
|
||||||
dev_id.id[0] = sys_cpu_to_be32(OCOTP->CFG2);
|
dev_id.id[0] = sys_cpu_to_be32(OCOTP->CFG2);
|
||||||
dev_id.id[1] = sys_cpu_to_be32(OCOTP->CFG1);
|
dev_id.id[1] = sys_cpu_to_be32(OCOTP->CFG1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue