xref: /linux/include/linux/soc/brcmstb/brcmstb.h (revision 7f20333fe76780af19ee0d8d2dc6d04d35aa88d2)
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