xref: /rk3399_ARM-atf/drivers/renesas/rcar_gen4/ptp/ptp.c (revision e47c7a163cb9ddd18a83b7cff37fe76a040d0f80)
1*b45b5bacSMarek Vasut /*
2*b45b5bacSMarek Vasut  * Copyright (c) 2015-2025, Renesas Electronics Corporation. All rights reserved.
3*b45b5bacSMarek Vasut  *
4*b45b5bacSMarek Vasut  * SPDX-License-Identifier: BSD-3-Clause
5*b45b5bacSMarek Vasut  */
6*b45b5bacSMarek Vasut 
7*b45b5bacSMarek Vasut #include <lib/mmio.h>
8*b45b5bacSMarek Vasut #include <lib/utils_def.h>
9*b45b5bacSMarek Vasut 
10*b45b5bacSMarek Vasut #define	RCAR_CPG_BASE		0xE6150000U
11*b45b5bacSMarek Vasut #define	RCAR_CPG_CPGWPR		(RCAR_CPG_BASE + 0x0000U)
12*b45b5bacSMarek Vasut #define	RCAR_CPG_CPGWPCR	(RCAR_CPG_BASE + 0x0004U)
13*b45b5bacSMarek Vasut 
14*b45b5bacSMarek Vasut #define	RCAR_CPG_MSTPCR27	(RCAR_CPG_BASE + 0x2D6CU)
15*b45b5bacSMarek Vasut #define	RCAR_CPG_MSTPSR27	(RCAR_CPG_BASE + 0x2E6CU)
16*b45b5bacSMarek Vasut 
17*b45b5bacSMarek Vasut #define	RCAR_PTPRO_BASE		0xE6449000U
18*b45b5bacSMarek Vasut #define	RCAR_PTPSCR0		(RCAR_PTPRO_BASE + 0x780U)
19*b45b5bacSMarek Vasut #define	RCAR_PTPSCR1		(RCAR_PTPRO_BASE + 0x784U)
20*b45b5bacSMarek Vasut 
rcar_ptp_setup(void)21*b45b5bacSMarek Vasut void rcar_ptp_setup(void)
22*b45b5bacSMarek Vasut {
23*b45b5bacSMarek Vasut #if PTP_NONSECURE_ACCESS
24*b45b5bacSMarek Vasut 	mmio_clrbits_32(RCAR_CPG_MSTPCR27, BIT(23));
25*b45b5bacSMarek Vasut 	while ((mmio_read_32(RCAR_CPG_MSTPSR27) & BIT(23)) != 0)
26*b45b5bacSMarek Vasut 		;
27*b45b5bacSMarek Vasut 
28*b45b5bacSMarek Vasut 	mmio_write_32(RCAR_PTPSCR0, 0x30003); /* PTPSCR0 */
29*b45b5bacSMarek Vasut 	mmio_write_32(RCAR_PTPSCR1, 0x30003); /* PTPSCR1 */
30*b45b5bacSMarek Vasut #endif /* PTP_NONSECURE_ACCESS */
31*b45b5bacSMarek Vasut }
32