19a764234SFlorian Fainelli #ifndef __BRCMSTB_SOC_H 29a764234SFlorian Fainelli #define __BRCMSTB_SOC_H 39a764234SFlorian Fainelli 4*7f20333fSAl Cooper static inline u32 BRCM_ID(u32 reg) 5*7f20333fSAl Cooper { 6*7f20333fSAl Cooper return reg >> 28 ? reg >> 16 : reg >> 8; 7*7f20333fSAl Cooper } 8*7f20333fSAl Cooper 9*7f20333fSAl Cooper static inline u32 BRCM_REV(u32 reg) 10*7f20333fSAl Cooper { 11*7f20333fSAl Cooper return reg & 0xff; 12*7f20333fSAl Cooper } 13*7f20333fSAl Cooper 149a764234SFlorian Fainelli /* 159a764234SFlorian Fainelli * Bus Interface Unit control register setup, must happen early during boot, 169a764234SFlorian Fainelli * before SMP is brought up, called by machine entry point. 179a764234SFlorian Fainelli */ 189a764234SFlorian Fainelli void brcmstb_biuctrl_init(void); 199a764234SFlorian Fainelli 20*7f20333fSAl Cooper /* 21*7f20333fSAl Cooper * Helper functions for getting family or product id from the 22*7f20333fSAl Cooper * SoC driver. 23*7f20333fSAl Cooper */ 24*7f20333fSAl Cooper u32 brcmstb_get_family_id(void); 25*7f20333fSAl Cooper u32 brcmstb_get_product_id(void); 26*7f20333fSAl Cooper 279a764234SFlorian Fainelli #endif /* __BRCMSTB_SOC_H */ 28