Re: [PATCH v4 1/4] soc: brcmstb: Add Product ID and Family ID helper functions
On 07/21/2017 07:10 AM, Al Cooper wrote: > Signed-off-by: Al CooperAcked-by: Florian Fainelli > --- > drivers/soc/bcm/brcmstb/common.c| 12 > include/linux/soc/brcmstb/brcmstb.h | 10 ++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/soc/bcm/brcmstb/common.c > b/drivers/soc/bcm/brcmstb/common.c > index b6195fd..184dbf5 100644 > --- a/drivers/soc/bcm/brcmstb/common.c > +++ b/drivers/soc/bcm/brcmstb/common.c > @@ -40,6 +40,18 @@ bool soc_is_brcmstb(void) > return of_match_node(brcmstb_machine_match, root) != NULL; > } > > +u32 brcmstb_get_family_id(void) > +{ > + return family_id; > +} > +EXPORT_SYMBOL(brcmstb_get_family_id); > + > +u32 brcmstb_get_product_id(void) > +{ > + return product_id; > +} > +EXPORT_SYMBOL(brcmstb_get_product_id); > + > static const struct of_device_id sun_top_ctrl_match[] = { > { .compatible = "brcm,bcm7125-sun-top-ctrl", }, > { .compatible = "brcm,bcm7346-sun-top-ctrl", }, > diff --git a/include/linux/soc/brcmstb/brcmstb.h > b/include/linux/soc/brcmstb/brcmstb.h > index 337ce41..23e4dc9 100644 > --- a/include/linux/soc/brcmstb/brcmstb.h > +++ b/include/linux/soc/brcmstb/brcmstb.h > @@ -1,10 +1,20 @@ > #ifndef __BRCMSTB_SOC_H > #define __BRCMSTB_SOC_H > > +#define BRCM_ID(reg) ((u32)reg >> 28 ? (u32)reg >> 16 : (u32)reg >> 8) > +#define BRCM_REV(reg)((u32)reg & 0xff) > + > /* > * Bus Interface Unit control register setup, must happen early during boot, > * before SMP is brought up, called by machine entry point. > */ > void brcmstb_biuctrl_init(void); > > +/* > + * Helper functions for getting family or product id from the > + * SoC driver. > + */ > +u32 brcmstb_get_family_id(void); > +u32 brcmstb_get_product_id(void); > + > #endif /* __BRCMSTB_SOC_H */ > -- Florian
Re: [PATCH v4 1/4] soc: brcmstb: Add Product ID and Family ID helper functions
On 07/21/2017 07:10 AM, Al Cooper wrote: > Signed-off-by: Al Cooper Acked-by: Florian Fainelli > --- > drivers/soc/bcm/brcmstb/common.c| 12 > include/linux/soc/brcmstb/brcmstb.h | 10 ++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/soc/bcm/brcmstb/common.c > b/drivers/soc/bcm/brcmstb/common.c > index b6195fd..184dbf5 100644 > --- a/drivers/soc/bcm/brcmstb/common.c > +++ b/drivers/soc/bcm/brcmstb/common.c > @@ -40,6 +40,18 @@ bool soc_is_brcmstb(void) > return of_match_node(brcmstb_machine_match, root) != NULL; > } > > +u32 brcmstb_get_family_id(void) > +{ > + return family_id; > +} > +EXPORT_SYMBOL(brcmstb_get_family_id); > + > +u32 brcmstb_get_product_id(void) > +{ > + return product_id; > +} > +EXPORT_SYMBOL(brcmstb_get_product_id); > + > static const struct of_device_id sun_top_ctrl_match[] = { > { .compatible = "brcm,bcm7125-sun-top-ctrl", }, > { .compatible = "brcm,bcm7346-sun-top-ctrl", }, > diff --git a/include/linux/soc/brcmstb/brcmstb.h > b/include/linux/soc/brcmstb/brcmstb.h > index 337ce41..23e4dc9 100644 > --- a/include/linux/soc/brcmstb/brcmstb.h > +++ b/include/linux/soc/brcmstb/brcmstb.h > @@ -1,10 +1,20 @@ > #ifndef __BRCMSTB_SOC_H > #define __BRCMSTB_SOC_H > > +#define BRCM_ID(reg) ((u32)reg >> 28 ? (u32)reg >> 16 : (u32)reg >> 8) > +#define BRCM_REV(reg)((u32)reg & 0xff) > + > /* > * Bus Interface Unit control register setup, must happen early during boot, > * before SMP is brought up, called by machine entry point. > */ > void brcmstb_biuctrl_init(void); > > +/* > + * Helper functions for getting family or product id from the > + * SoC driver. > + */ > +u32 brcmstb_get_family_id(void); > +u32 brcmstb_get_product_id(void); > + > #endif /* __BRCMSTB_SOC_H */ > -- Florian
[PATCH v4 1/4] soc: brcmstb: Add Product ID and Family ID helper functions
Signed-off-by: Al Cooper--- drivers/soc/bcm/brcmstb/common.c| 12 include/linux/soc/brcmstb/brcmstb.h | 10 ++ 2 files changed, 22 insertions(+) diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c index b6195fd..184dbf5 100644 --- a/drivers/soc/bcm/brcmstb/common.c +++ b/drivers/soc/bcm/brcmstb/common.c @@ -40,6 +40,18 @@ bool soc_is_brcmstb(void) return of_match_node(brcmstb_machine_match, root) != NULL; } +u32 brcmstb_get_family_id(void) +{ + return family_id; +} +EXPORT_SYMBOL(brcmstb_get_family_id); + +u32 brcmstb_get_product_id(void) +{ + return product_id; +} +EXPORT_SYMBOL(brcmstb_get_product_id); + static const struct of_device_id sun_top_ctrl_match[] = { { .compatible = "brcm,bcm7125-sun-top-ctrl", }, { .compatible = "brcm,bcm7346-sun-top-ctrl", }, diff --git a/include/linux/soc/brcmstb/brcmstb.h b/include/linux/soc/brcmstb/brcmstb.h index 337ce41..23e4dc9 100644 --- a/include/linux/soc/brcmstb/brcmstb.h +++ b/include/linux/soc/brcmstb/brcmstb.h @@ -1,10 +1,20 @@ #ifndef __BRCMSTB_SOC_H #define __BRCMSTB_SOC_H +#define BRCM_ID(reg) ((u32)reg >> 28 ? (u32)reg >> 16 : (u32)reg >> 8) +#define BRCM_REV(reg) ((u32)reg & 0xff) + /* * Bus Interface Unit control register setup, must happen early during boot, * before SMP is brought up, called by machine entry point. */ void brcmstb_biuctrl_init(void); +/* + * Helper functions for getting family or product id from the + * SoC driver. + */ +u32 brcmstb_get_family_id(void); +u32 brcmstb_get_product_id(void); + #endif /* __BRCMSTB_SOC_H */ -- 1.9.0.138.g2de3478
[PATCH v4 1/4] soc: brcmstb: Add Product ID and Family ID helper functions
Signed-off-by: Al Cooper --- drivers/soc/bcm/brcmstb/common.c| 12 include/linux/soc/brcmstb/brcmstb.h | 10 ++ 2 files changed, 22 insertions(+) diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c index b6195fd..184dbf5 100644 --- a/drivers/soc/bcm/brcmstb/common.c +++ b/drivers/soc/bcm/brcmstb/common.c @@ -40,6 +40,18 @@ bool soc_is_brcmstb(void) return of_match_node(brcmstb_machine_match, root) != NULL; } +u32 brcmstb_get_family_id(void) +{ + return family_id; +} +EXPORT_SYMBOL(brcmstb_get_family_id); + +u32 brcmstb_get_product_id(void) +{ + return product_id; +} +EXPORT_SYMBOL(brcmstb_get_product_id); + static const struct of_device_id sun_top_ctrl_match[] = { { .compatible = "brcm,bcm7125-sun-top-ctrl", }, { .compatible = "brcm,bcm7346-sun-top-ctrl", }, diff --git a/include/linux/soc/brcmstb/brcmstb.h b/include/linux/soc/brcmstb/brcmstb.h index 337ce41..23e4dc9 100644 --- a/include/linux/soc/brcmstb/brcmstb.h +++ b/include/linux/soc/brcmstb/brcmstb.h @@ -1,10 +1,20 @@ #ifndef __BRCMSTB_SOC_H #define __BRCMSTB_SOC_H +#define BRCM_ID(reg) ((u32)reg >> 28 ? (u32)reg >> 16 : (u32)reg >> 8) +#define BRCM_REV(reg) ((u32)reg & 0xff) + /* * Bus Interface Unit control register setup, must happen early during boot, * before SMP is brought up, called by machine entry point. */ void brcmstb_biuctrl_init(void); +/* + * Helper functions for getting family or product id from the + * SoC driver. + */ +u32 brcmstb_get_family_id(void); +u32 brcmstb_get_product_id(void); + #endif /* __BRCMSTB_SOC_H */ -- 1.9.0.138.g2de3478