diff options
author | Ye.Li <B37916@freescale.com> | 2015-08-25 15:07:15 +0800 |
---|---|---|
committer | Ye.Li <B37916@freescale.com> | 2015-08-25 15:56:16 +0800 |
commit | e7d4767331f1a2cbef61b4e89beb73731f267499 (patch) | |
tree | 68426b4587a6697a25bab2568757196516d1417c /include | |
parent | 3b548a3ddf03dcbb646912ef7bbdd3cdb2daf81a (diff) | |
download | u-boot-imx-e7d4767331f1a2cbef61b4e89beb73731f267499.zip u-boot-imx-e7d4767331f1a2cbef61b4e89beb73731f267499.tar.gz u-boot-imx-e7d4767331f1a2cbef61b4e89beb73731f267499.tar.bz2 |
MLK-11408-2 imx: mx7d: Isolate 26 IP resources to domain 0 for A core
In current design, if any peripheral was assigned to both A7 and M4,
it will receive ipg_stop or ipg_wait when any of the 2 platforms
enter low power mode. We will have a risk that, if A7 enter wait,
M4 enter stop, peripheral will have chance to get ipg_stop and ipg_wait
asserted same time.
There are 26 peripherals impacted by this IC issue:
SIM2(sim2/emvsim2)
SIM1(sim1/emvsim1)
UART1/UART2/UART3/UART4/UART5/UART6/UART7
SAI1/SAI2/SAI3
WDOG1/WDOG2/WDOG3/WDOG4
GPT1/GPT2/GPT3/GPT4
PWM1/PWM2/PWM3/PWM4
ENET1/ENET2
Software Workaround:
The solution is set M4 to a different domain with A core.
So the peripherals are not shared by them. This way requires
the uboot implemented the RDC driver and set the 26 IPs above to domain 0 only.
CM4 image will set the M4 to domain 1 only.
This patch enables the CONFIG_MXC_RDC for mx7d SABRESD board and ARM2 boards, and
setup the 26 IP resources to domain 0.
Signed-off-by: Ye.Li <B37916@freescale.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/mx7d_arm2.h | 2 | ||||
-rw-r--r-- | include/configs/mx7dsabresd.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/configs/mx7d_arm2.h b/include/configs/mx7d_arm2.h index ecc3d22..3e94672 100644 --- a/include/configs/mx7d_arm2.h +++ b/include/configs/mx7d_arm2.h @@ -100,6 +100,8 @@ #define CONFIG_CMD_SETEXPR #ifdef CONFIG_CMD_BOOTAUX +#define CONFIG_MXC_RDC /* Enable RDC to isolate the peripherals for A7 and M4 */ + #define UPDATE_M4_ENV \ "m4image=m4_qspi.bin\0" \ "loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \ diff --git a/include/configs/mx7dsabresd.h b/include/configs/mx7dsabresd.h index 9c38a7e..2d4bfae 100644 --- a/include/configs/mx7dsabresd.h +++ b/include/configs/mx7dsabresd.h @@ -123,6 +123,8 @@ #define CONFIG_CMD_SETEXPR #ifdef CONFIG_CMD_BOOTAUX +#define CONFIG_MXC_RDC /* Enable RDC to isolate the peripherals for A7 and M4 */ + #define UPDATE_M4_ENV \ "m4image=m4_qspi.bin\0" \ "loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \ |