1*7a7d246dSNobuhiro Iwamatsu /* 2*7a7d246dSNobuhiro Iwamatsu * arch/arm/include/asm/arch-rmobile/rcar-mstp.h 3*7a7d246dSNobuhiro Iwamatsu * 4*7a7d246dSNobuhiro Iwamatsu * Copyright (C) 2013, 2014 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> 5*7a7d246dSNobuhiro Iwamatsu * Copyright (C) 2013, 2014 Renesas Electronics Corporation 6*7a7d246dSNobuhiro Iwamatsu * 7*7a7d246dSNobuhiro Iwamatsu * SPDX-License-Identifier: GPL-2.0 8*7a7d246dSNobuhiro Iwamatsu */ 9*7a7d246dSNobuhiro Iwamatsu 10*7a7d246dSNobuhiro Iwamatsu #ifndef __ASM_ARCH_RCAR_MSTP_H 11*7a7d246dSNobuhiro Iwamatsu #define __ASM_ARCH_RCAR_MSTP_H 12*7a7d246dSNobuhiro Iwamatsu 13*7a7d246dSNobuhiro Iwamatsu #define mstp_setbits(type, addr, saddr, set) \ 14*7a7d246dSNobuhiro Iwamatsu out_##type((saddr), in_##type(addr) | (set)) 15*7a7d246dSNobuhiro Iwamatsu #define mstp_clrbits(type, addr, saddr, clear) \ 16*7a7d246dSNobuhiro Iwamatsu out_##type((saddr), in_##type(addr) & ~(clear)) 17*7a7d246dSNobuhiro Iwamatsu #define mstp_setclrbits(type, addr, set, clear) \ 18*7a7d246dSNobuhiro Iwamatsu out_##type((addr), (in_##type(addr) | (set)) & ~(clear)) 19*7a7d246dSNobuhiro Iwamatsu #define mstp_setbits_le32(addr, saddr, set) \ 20*7a7d246dSNobuhiro Iwamatsu mstp_setbits(le32, addr, saddr, set) 21*7a7d246dSNobuhiro Iwamatsu #define mstp_clrbits_le32(addr, saddr, clear) \ 22*7a7d246dSNobuhiro Iwamatsu mstp_clrbits(le32, addr, saddr, clear) 23*7a7d246dSNobuhiro Iwamatsu #define mstp_setclrbits_le32(addr, set, clear) \ 24*7a7d246dSNobuhiro Iwamatsu mstp_setclrbits(le32, addr, set, clear) 25*7a7d246dSNobuhiro Iwamatsu 26*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP0_ENA 27*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP0_ENA 0x00 28*7a7d246dSNobuhiro Iwamatsu #endif 29*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP1_ENA 30*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP1_ENA 0x00 31*7a7d246dSNobuhiro Iwamatsu #endif 32*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP2_ENA 33*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP2_ENA 0x00 34*7a7d246dSNobuhiro Iwamatsu #endif 35*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP3_ENA 36*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP3_ENA 0x00 37*7a7d246dSNobuhiro Iwamatsu #endif 38*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP4_ENA 39*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP4_ENA 0x00 40*7a7d246dSNobuhiro Iwamatsu #endif 41*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP5_ENA 42*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP5_ENA 0x00 43*7a7d246dSNobuhiro Iwamatsu #endif 44*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP6_ENA 45*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP6_ENA 0x00 46*7a7d246dSNobuhiro Iwamatsu #endif 47*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP7_ENA 48*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP7_ENA 0x00 49*7a7d246dSNobuhiro Iwamatsu #endif 50*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP8_ENA 51*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP8_ENA 0x00 52*7a7d246dSNobuhiro Iwamatsu #endif 53*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP9_ENA 54*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP9_ENA 0x00 55*7a7d246dSNobuhiro Iwamatsu #endif 56*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP10_ENA 57*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP10_ENA 0x00 58*7a7d246dSNobuhiro Iwamatsu #endif 59*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_SMSTP11_ENA 60*7a7d246dSNobuhiro Iwamatsu #define CONFIG_SMSTP11_ENA 0x00 61*7a7d246dSNobuhiro Iwamatsu #endif 62*7a7d246dSNobuhiro Iwamatsu 63*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP0_ENA 64*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP0_ENA 0x00 65*7a7d246dSNobuhiro Iwamatsu #endif 66*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP1_ENA 67*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP1_ENA 0x00 68*7a7d246dSNobuhiro Iwamatsu #endif 69*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP2_ENA 70*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP2_ENA 0x00 71*7a7d246dSNobuhiro Iwamatsu #endif 72*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP3_ENA 73*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP3_ENA 0x00 74*7a7d246dSNobuhiro Iwamatsu #endif 75*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP4_ENA 76*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP4_ENA 0x00 77*7a7d246dSNobuhiro Iwamatsu #endif 78*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP5_ENA 79*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP5_ENA 0x00 80*7a7d246dSNobuhiro Iwamatsu #endif 81*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP6_ENA 82*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP6_ENA 0x00 83*7a7d246dSNobuhiro Iwamatsu #endif 84*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP7_ENA 85*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP7_ENA 0x00 86*7a7d246dSNobuhiro Iwamatsu #endif 87*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP8_ENA 88*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP8_ENA 0x00 89*7a7d246dSNobuhiro Iwamatsu #endif 90*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP9_ENA 91*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP9_ENA 0x00 92*7a7d246dSNobuhiro Iwamatsu #endif 93*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP10_ENA 94*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP10_ENA 0x00 95*7a7d246dSNobuhiro Iwamatsu #endif 96*7a7d246dSNobuhiro Iwamatsu #ifndef CONFIG_RMSTP11_ENA 97*7a7d246dSNobuhiro Iwamatsu #define CONFIG_RMSTP11_ENA 0x00 98*7a7d246dSNobuhiro Iwamatsu #endif 99*7a7d246dSNobuhiro Iwamatsu 100*7a7d246dSNobuhiro Iwamatsu struct mstp_ctl { 101*7a7d246dSNobuhiro Iwamatsu u32 s_addr; 102*7a7d246dSNobuhiro Iwamatsu u32 s_dis; 103*7a7d246dSNobuhiro Iwamatsu u32 s_ena; 104*7a7d246dSNobuhiro Iwamatsu u32 r_addr; 105*7a7d246dSNobuhiro Iwamatsu u32 r_dis; 106*7a7d246dSNobuhiro Iwamatsu u32 r_ena; 107*7a7d246dSNobuhiro Iwamatsu }; 108*7a7d246dSNobuhiro Iwamatsu 109*7a7d246dSNobuhiro Iwamatsu #endif /* __ASM_ARCH_RCAR_MSTP_H */ 110