1455a503fSMaxime Bizon #ifndef BCM63XX_IOREMAP_H_ 2455a503fSMaxime Bizon #define BCM63XX_IOREMAP_H_ 3455a503fSMaxime Bizon 4455a503fSMaxime Bizon #include <bcm63xx_cpu.h> 5455a503fSMaxime Bizon 6455a503fSMaxime Bizon static inline phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size) 7455a503fSMaxime Bizon { 8455a503fSMaxime Bizon return phys_addr; 9455a503fSMaxime Bizon } 10455a503fSMaxime Bizon 11455a503fSMaxime Bizon static inline int is_bcm63xx_internal_registers(phys_t offset) 12455a503fSMaxime Bizon { 13455a503fSMaxime Bizon switch (bcm63xx_get_cpu_id()) { 147b933421SFlorian Fainelli case BCM3368_CPU_ID: 157b933421SFlorian Fainelli if (offset >= 0xfff80000) 167b933421SFlorian Fainelli return 1; 177b933421SFlorian Fainelli break; 18455a503fSMaxime Bizon case BCM6338_CPU_ID: 19455a503fSMaxime Bizon case BCM6345_CPU_ID: 20455a503fSMaxime Bizon case BCM6348_CPU_ID: 21455a503fSMaxime Bizon case BCM6358_CPU_ID: 22455a503fSMaxime Bizon if (offset >= 0xfff00000) 23455a503fSMaxime Bizon return 1; 24455a503fSMaxime Bizon break; 25e5766aeaSJonas Gorski case BCM6328_CPU_ID: 262c8aaf71SJonas Gorski case BCM6362_CPU_ID: 2704712f3fSMaxime Bizon case BCM6368_CPU_ID: 2804712f3fSMaxime Bizon if (offset >= 0xb0000000 && offset < 0xb1000000) 2904712f3fSMaxime Bizon return 1; 3004712f3fSMaxime Bizon break; 31455a503fSMaxime Bizon } 32455a503fSMaxime Bizon return 0; 33455a503fSMaxime Bizon } 34455a503fSMaxime Bizon 35455a503fSMaxime Bizon static inline void __iomem *plat_ioremap(phys_t offset, unsigned long size, 36455a503fSMaxime Bizon unsigned long flags) 37455a503fSMaxime Bizon { 38455a503fSMaxime Bizon if (is_bcm63xx_internal_registers(offset)) 39455a503fSMaxime Bizon return (void __iomem *)offset; 40455a503fSMaxime Bizon return NULL; 41455a503fSMaxime Bizon } 42455a503fSMaxime Bizon 43455a503fSMaxime Bizon static inline int plat_iounmap(const volatile void __iomem *addr) 44455a503fSMaxime Bizon { 45455a503fSMaxime Bizon return is_bcm63xx_internal_registers((unsigned long)addr); 46455a503fSMaxime Bizon } 47455a503fSMaxime Bizon 48455a503fSMaxime Bizon #endif /* BCM63XX_IOREMAP_H_ */ 49