mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-30 18:05:48 +01:00 
			
		
		
		
	armv8/ls2080a: configure PMU's PCTBENR to enable WDT
The SP805-WDT module on LS2080A requires configuration of PMU's PCTBENR register to enable watchdog counter decrement and reset signal generation. The watchdog clock needs to be enabled first. Signed-off-by: Yunhui Cui <yunhui.cui@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
		| @@ -636,6 +636,9 @@ int timer_init(void) | |||||||
| #ifdef CONFIG_FSL_LSCH3 | #ifdef CONFIG_FSL_LSCH3 | ||||||
| 	u32 __iomem *cltbenr = (u32 *)CONFIG_SYS_FSL_PMU_CLTBENR; | 	u32 __iomem *cltbenr = (u32 *)CONFIG_SYS_FSL_PMU_CLTBENR; | ||||||
| #endif | #endif | ||||||
|  | #ifdef CONFIG_LS2080A | ||||||
|  | 	u32 __iomem *pctbenr = (u32 *)FSL_PMU_PCTBENR_OFFSET; | ||||||
|  | #endif | ||||||
| #ifdef COUNTER_FREQUENCY_REAL | #ifdef COUNTER_FREQUENCY_REAL | ||||||
| 	unsigned long cntfrq = COUNTER_FREQUENCY_REAL; | 	unsigned long cntfrq = COUNTER_FREQUENCY_REAL; | ||||||
|  |  | ||||||
| @@ -650,6 +653,15 @@ int timer_init(void) | |||||||
| 	out_le32(cltbenr, 0xf); | 	out_le32(cltbenr, 0xf); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef CONFIG_LS2080A | ||||||
|  | 	/* | ||||||
|  | 	 * In certain Layerscape SoCs, the clock for each core's | ||||||
|  | 	 * has an enable bit in the PMU Physical Core Time Base Enable | ||||||
|  | 	 * Register (PCTBENR), which allows the watchdog to operate. | ||||||
|  | 	 */ | ||||||
|  | 	setbits_le32(pctbenr, 0xff); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| 	/* Enable clock for timer | 	/* Enable clock for timer | ||||||
| 	 * This is a global setting. | 	 * This is a global setting. | ||||||
| 	 */ | 	 */ | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
| #define CONFIG_SYS_FSL_TIMER_ADDR		0x023d0000 | #define CONFIG_SYS_FSL_TIMER_ADDR		0x023d0000 | ||||||
| #define CONFIG_SYS_FSL_PMU_CLTBENR		(CONFIG_SYS_FSL_PMU_ADDR + \ | #define CONFIG_SYS_FSL_PMU_CLTBENR		(CONFIG_SYS_FSL_PMU_ADDR + \ | ||||||
| 						 0x18A0) | 						 0x18A0) | ||||||
|  | #define FSL_PMU_PCTBENR_OFFSET (CONFIG_SYS_FSL_PMU_ADDR + 0x8A0) | ||||||
|  |  | ||||||
| #define CONFIG_SYS_FSL_WRIOP1_ADDR		(CONFIG_SYS_IMMR + 0x7B80000) | #define CONFIG_SYS_FSL_WRIOP1_ADDR		(CONFIG_SYS_IMMR + 0x7B80000) | ||||||
| #define CONFIG_SYS_FSL_WRIOP1_MDIO1	(CONFIG_SYS_FSL_WRIOP1_ADDR + 0x16000) | #define CONFIG_SYS_FSL_WRIOP1_MDIO1	(CONFIG_SYS_FSL_WRIOP1_ADDR + 0x16000) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user