11a2621baSYoshihiro Shimoda /* 21a2621baSYoshihiro Shimoda * Copyright (C) 2012 Renesas Solutions Corp. 31a2621baSYoshihiro Shimoda * 4*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 51a2621baSYoshihiro Shimoda */ 61a2621baSYoshihiro Shimoda 71a2621baSYoshihiro Shimoda #ifndef _ASM_CPU_SH7752_H_ 81a2621baSYoshihiro Shimoda #define _ASM_CPU_SH7752_H_ 91a2621baSYoshihiro Shimoda 101a2621baSYoshihiro Shimoda #define CCR 0xFF00001C 111a2621baSYoshihiro Shimoda #define WTCNT 0xFFCC0000 121a2621baSYoshihiro Shimoda #define CCR_CACHE_INIT 0x0000090b 131a2621baSYoshihiro Shimoda #define CACHE_OC_NUM_WAYS 1 141a2621baSYoshihiro Shimoda 151a2621baSYoshihiro Shimoda #ifndef __ASSEMBLY__ /* put C only stuff in this section */ 161a2621baSYoshihiro Shimoda /* MMU */ 171a2621baSYoshihiro Shimoda struct mmu_regs { 181a2621baSYoshihiro Shimoda unsigned int reserved[4]; 191a2621baSYoshihiro Shimoda unsigned int mmucr; 201a2621baSYoshihiro Shimoda }; 211a2621baSYoshihiro Shimoda #define MMU_BASE ((struct mmu_regs *)0xff000000) 221a2621baSYoshihiro Shimoda 231a2621baSYoshihiro Shimoda /* Watchdog */ 241a2621baSYoshihiro Shimoda #define WTCSR0 0xffcc0002 251a2621baSYoshihiro Shimoda #define WRSTCSR_R 0xffcc0003 261a2621baSYoshihiro Shimoda #define WRSTCSR_W 0xffcc0002 271a2621baSYoshihiro Shimoda #define WTCSR_PREFIX 0xa500 281a2621baSYoshihiro Shimoda #define WRSTCSR_PREFIX 0x6900 291a2621baSYoshihiro Shimoda #define WRSTCSR_WOVF_PREFIX 0x9600 301a2621baSYoshihiro Shimoda 311a2621baSYoshihiro Shimoda /* SCIF */ 321a2621baSYoshihiro Shimoda #define SCIF0_BASE 0xfe4b0000 /* The real name is SCIF2 */ 331a2621baSYoshihiro Shimoda #define SCIF1_BASE 0xfe4c0000 /* The real name is SCIF3 */ 341a2621baSYoshihiro Shimoda #define SCIF2_BASE 0xfe4d0000 /* The real name is SCIF4 */ 351a2621baSYoshihiro Shimoda 361a2621baSYoshihiro Shimoda /* TMU0 */ 371a2621baSYoshihiro Shimoda #define TMU_BASE 0xFE430000 381a2621baSYoshihiro Shimoda 391a2621baSYoshihiro Shimoda /* ETHER, GETHER MAC address */ 401a2621baSYoshihiro Shimoda struct ether_mac_regs { 411a2621baSYoshihiro Shimoda unsigned int reserved[114]; 421a2621baSYoshihiro Shimoda unsigned int mahr; 431a2621baSYoshihiro Shimoda unsigned int reserved2; 441a2621baSYoshihiro Shimoda unsigned int malr; 451a2621baSYoshihiro Shimoda }; 461a2621baSYoshihiro Shimoda #define GETHER0_MAC_BASE ((struct ether_mac_regs *)0xfee0400) 471a2621baSYoshihiro Shimoda #define GETHER1_MAC_BASE ((struct ether_mac_regs *)0xfee0c00) 481a2621baSYoshihiro Shimoda #define ETHER0_MAC_BASE ((struct ether_mac_regs *)0xfef0000) 491a2621baSYoshihiro Shimoda #define ETHER1_MAC_BASE ((struct ether_mac_regs *)0xfef0800) 501a2621baSYoshihiro Shimoda 511a2621baSYoshihiro Shimoda /* GETHER */ 521a2621baSYoshihiro Shimoda struct gether_control_regs { 531a2621baSYoshihiro Shimoda unsigned int gbecont; 541a2621baSYoshihiro Shimoda }; 551a2621baSYoshihiro Shimoda #define GETHER_CONTROL_BASE ((struct gether_control_regs *)0xffc10100) 561a2621baSYoshihiro Shimoda #define GBECONT_RMII1 0x00020000 571a2621baSYoshihiro Shimoda #define GBECONT_RMII0 0x00010000 581a2621baSYoshihiro Shimoda 591a2621baSYoshihiro Shimoda /* SerMux */ 601a2621baSYoshihiro Shimoda struct sermux_regs { 611a2621baSYoshihiro Shimoda unsigned char smr0; 621a2621baSYoshihiro Shimoda unsigned char smr1; 631a2621baSYoshihiro Shimoda unsigned char smr2; 641a2621baSYoshihiro Shimoda unsigned char smr3; 651a2621baSYoshihiro Shimoda unsigned char smr4; 661a2621baSYoshihiro Shimoda unsigned char smr5; 671a2621baSYoshihiro Shimoda }; 681a2621baSYoshihiro Shimoda #define SERMUX_BASE ((struct sermux_regs *)0xfe470000) 691a2621baSYoshihiro Shimoda 701a2621baSYoshihiro Shimoda 711a2621baSYoshihiro Shimoda /* USB0/1 */ 721a2621baSYoshihiro Shimoda struct usb_common_regs { 731a2621baSYoshihiro Shimoda unsigned short reserved[129]; 741a2621baSYoshihiro Shimoda unsigned short suspmode; 751a2621baSYoshihiro Shimoda }; 761a2621baSYoshihiro Shimoda #define USB0_COMMON_BASE ((struct usb_common_regs *)0xfe450000) 771a2621baSYoshihiro Shimoda #define USB1_COMMON_BASE ((struct usb_common_regs *)0xfe4f0000) 781a2621baSYoshihiro Shimoda 791a2621baSYoshihiro Shimoda struct usb0_phy_regs { 801a2621baSYoshihiro Shimoda unsigned short reset; 811a2621baSYoshihiro Shimoda unsigned short reserved[4]; 821a2621baSYoshihiro Shimoda unsigned short portsel; 831a2621baSYoshihiro Shimoda }; 841a2621baSYoshihiro Shimoda #define USB0_PHY_BASE ((struct usb0_phy_regs *)0xfe5f0000) 851a2621baSYoshihiro Shimoda 861a2621baSYoshihiro Shimoda struct usb1_port_regs { 871a2621baSYoshihiro Shimoda unsigned int port1sel; 881a2621baSYoshihiro Shimoda unsigned int reserved; 891a2621baSYoshihiro Shimoda unsigned int usb1intsts; 901a2621baSYoshihiro Shimoda }; 911a2621baSYoshihiro Shimoda #define USB1_PORT_BASE ((struct usb1_port_regs *)0xfe4f2000) 921a2621baSYoshihiro Shimoda 931a2621baSYoshihiro Shimoda struct usb1_alignment_regs { 941a2621baSYoshihiro Shimoda unsigned int ehcidatac; /* 0xfe4fe018 */ 951a2621baSYoshihiro Shimoda unsigned int reserved[63]; 961a2621baSYoshihiro Shimoda unsigned int ohcidatac; 971a2621baSYoshihiro Shimoda }; 981a2621baSYoshihiro Shimoda #define USB1_ALIGNMENT_BASE ((struct usb1_alignment_regs *)0xfe4fe018) 991a2621baSYoshihiro Shimoda 1001a2621baSYoshihiro Shimoda /* GPIO */ 1011a2621baSYoshihiro Shimoda struct gpio_regs { 1021a2621baSYoshihiro Shimoda unsigned short pacr; 1031a2621baSYoshihiro Shimoda unsigned short pbcr; 1041a2621baSYoshihiro Shimoda unsigned short pccr; 1051a2621baSYoshihiro Shimoda unsigned short pdcr; 1061a2621baSYoshihiro Shimoda unsigned short pecr; 1071a2621baSYoshihiro Shimoda unsigned short pfcr; 1081a2621baSYoshihiro Shimoda unsigned short pgcr; 1091a2621baSYoshihiro Shimoda unsigned short phcr; 1101a2621baSYoshihiro Shimoda unsigned short picr; 1111a2621baSYoshihiro Shimoda unsigned short pjcr; 1121a2621baSYoshihiro Shimoda unsigned short pkcr; 1131a2621baSYoshihiro Shimoda unsigned short plcr; 1141a2621baSYoshihiro Shimoda unsigned short pmcr; 1151a2621baSYoshihiro Shimoda unsigned short pncr; 1161a2621baSYoshihiro Shimoda unsigned short pocr; 1171a2621baSYoshihiro Shimoda unsigned short reserved; 1181a2621baSYoshihiro Shimoda unsigned short pqcr; 1191a2621baSYoshihiro Shimoda unsigned short prcr; 1201a2621baSYoshihiro Shimoda unsigned short pscr; 1211a2621baSYoshihiro Shimoda unsigned short ptcr; 1221a2621baSYoshihiro Shimoda unsigned short pucr; 1231a2621baSYoshihiro Shimoda unsigned short pvcr; 1241a2621baSYoshihiro Shimoda unsigned short pwcr; 1251a2621baSYoshihiro Shimoda unsigned short pxcr; 1261a2621baSYoshihiro Shimoda unsigned short pycr; 1271a2621baSYoshihiro Shimoda unsigned short pzcr; 1281a2621baSYoshihiro Shimoda unsigned char padr; 1291a2621baSYoshihiro Shimoda unsigned char reserved_a; 1301a2621baSYoshihiro Shimoda unsigned char pbdr; 1311a2621baSYoshihiro Shimoda unsigned char reserved_b; 1321a2621baSYoshihiro Shimoda unsigned char pcdr; 1331a2621baSYoshihiro Shimoda unsigned char reserved_c; 1341a2621baSYoshihiro Shimoda unsigned char pddr; 1351a2621baSYoshihiro Shimoda unsigned char reserved_d; 1361a2621baSYoshihiro Shimoda unsigned char pedr; 1371a2621baSYoshihiro Shimoda unsigned char reserved_e; 1381a2621baSYoshihiro Shimoda unsigned char pfdr; 1391a2621baSYoshihiro Shimoda unsigned char reserved_f; 1401a2621baSYoshihiro Shimoda unsigned char pgdr; 1411a2621baSYoshihiro Shimoda unsigned char reserved_g; 1421a2621baSYoshihiro Shimoda unsigned char phdr; 1431a2621baSYoshihiro Shimoda unsigned char reserved_h; 1441a2621baSYoshihiro Shimoda unsigned char pidr; 1451a2621baSYoshihiro Shimoda unsigned char reserved_i; 1461a2621baSYoshihiro Shimoda unsigned char pjdr; 1471a2621baSYoshihiro Shimoda unsigned char reserved_j; 1481a2621baSYoshihiro Shimoda unsigned char pkdr; 1491a2621baSYoshihiro Shimoda unsigned char reserved_k; 1501a2621baSYoshihiro Shimoda unsigned char pldr; 1511a2621baSYoshihiro Shimoda unsigned char reserved_l; 1521a2621baSYoshihiro Shimoda unsigned char pmdr; 1531a2621baSYoshihiro Shimoda unsigned char reserved_m; 1541a2621baSYoshihiro Shimoda unsigned char pndr; 1551a2621baSYoshihiro Shimoda unsigned char reserved_n; 1561a2621baSYoshihiro Shimoda unsigned char podr; 1571a2621baSYoshihiro Shimoda unsigned char reserved_o; 1581a2621baSYoshihiro Shimoda unsigned char ppdr; 1591a2621baSYoshihiro Shimoda unsigned char reserved_p; 1601a2621baSYoshihiro Shimoda unsigned char pqdr; 1611a2621baSYoshihiro Shimoda unsigned char reserved_q; 1621a2621baSYoshihiro Shimoda unsigned char prdr; 1631a2621baSYoshihiro Shimoda unsigned char reserved_r; 1641a2621baSYoshihiro Shimoda unsigned char psdr; 1651a2621baSYoshihiro Shimoda unsigned char reserved_s; 1661a2621baSYoshihiro Shimoda unsigned char ptdr; 1671a2621baSYoshihiro Shimoda unsigned char reserved_t; 1681a2621baSYoshihiro Shimoda unsigned char pudr; 1691a2621baSYoshihiro Shimoda unsigned char reserved_u; 1701a2621baSYoshihiro Shimoda unsigned char pvdr; 1711a2621baSYoshihiro Shimoda unsigned char reserved_v; 1721a2621baSYoshihiro Shimoda unsigned char pwdr; 1731a2621baSYoshihiro Shimoda unsigned char reserved_w; 1741a2621baSYoshihiro Shimoda unsigned char pxdr; 1751a2621baSYoshihiro Shimoda unsigned char reserved_x; 1761a2621baSYoshihiro Shimoda unsigned char pydr; 1771a2621baSYoshihiro Shimoda unsigned char reserved_y; 1781a2621baSYoshihiro Shimoda unsigned char pzdr; 1791a2621baSYoshihiro Shimoda unsigned char reserved_z; 1801a2621baSYoshihiro Shimoda unsigned short ncer; 1811a2621baSYoshihiro Shimoda unsigned short ncmcr; 1821a2621baSYoshihiro Shimoda unsigned short nccsr; 1831a2621baSYoshihiro Shimoda unsigned char reserved2[2]; 1841a2621baSYoshihiro Shimoda unsigned short psel0; /* +0x70 */ 1851a2621baSYoshihiro Shimoda unsigned short psel1; 1861a2621baSYoshihiro Shimoda unsigned short psel2; 1871a2621baSYoshihiro Shimoda unsigned short psel3; 1881a2621baSYoshihiro Shimoda unsigned short psel4; 1891a2621baSYoshihiro Shimoda unsigned short psel5; 1901a2621baSYoshihiro Shimoda unsigned short psel6; 1911a2621baSYoshihiro Shimoda unsigned short reserved3[2]; 1921a2621baSYoshihiro Shimoda unsigned short psel7; 1931a2621baSYoshihiro Shimoda }; 1941a2621baSYoshihiro Shimoda #define GPIO_BASE ((struct gpio_regs *)0xffec0000) 1951a2621baSYoshihiro Shimoda 1961a2621baSYoshihiro Shimoda #endif /* ifndef __ASSEMBLY__ */ 1971a2621baSYoshihiro Shimoda #endif /* _ASM_CPU_SH7752_H_ */ 198