soc: brcmstb: Add Product ID and Family ID helper functions
authorAl Cooper <alcooperx@gmail.com>
Fri, 22 Sep 2017 19:33:59 +0000 (15:33 -0400)
committerKishon Vijay Abraham I <kishon@ti.com>
Tue, 3 Oct 2017 06:24:54 +0000 (11:54 +0530)
Add Product ID and Family ID helper functions for brcmstb soc.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/soc/bcm/brcmstb/common.c
include/linux/soc/brcmstb/brcmstb.h

index 22e98a9..a71730d 100644 (file)
@@ -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", },
index 337ce41..8baafd6 100644 (file)
@@ -1,10 +1,27 @@
 #ifndef __BRCMSTB_SOC_H
 #define __BRCMSTB_SOC_H
 
+static inline u32 BRCM_ID(u32 reg)
+{
+       return reg >> 28 ? reg >> 16 : reg >> 8;
+}
+
+static inline u32 BRCM_REV(u32 reg)
+{
+       return 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 */