From e747b138abe2bb0f433476448ceee17f8a27aaca Mon Sep 17 00:00:00 2001 From: "Ye.Li" Date: Tue, 25 Aug 2015 15:07:15 +0800 Subject: 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 --- include/configs/mx7d_arm2.h | 2 ++ include/configs/mx7dsabresd.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'include/configs') diff --git a/include/configs/mx7d_arm2.h b/include/configs/mx7d_arm2.h index e19774c8ab..fe1f22f08c 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 a443e37f25..750b97e923 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" \ -- cgit v1.2.3