2014-10-28 07:02:08 +08:00
|
|
|
From 4e0ab3269a6d260a41a3673157753147f5f71341 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
|
|
|
Date: Sun, 4 May 2014 13:19:20 +0200
|
|
|
|
Subject: [PATCH 03/17] bcm47xx-sprom: add Broadcom sprom parser driver
|
|
|
|
|
|
|
|
This driver needs an nvram driver and fetches the sprom values from the
|
|
|
|
nvram and provides it to any other driver. The calibration data for the
|
|
|
|
wifi chip the mac address and some more board description data is
|
|
|
|
stores in the sprom.
|
|
|
|
|
|
|
|
This is based on a copy of arch/mips/bcm47xx/sprom.c and my plan is to
|
|
|
|
make the bcm47xx MIPS SoCs also use this driver some time later.
|
|
|
|
|
|
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
|
|
---
|
|
|
|
.../devicetree/bindings/misc/bcm47xx-sprom.txt | 16 +
|
|
|
|
drivers/misc/Kconfig | 11 +
|
|
|
|
drivers/misc/Makefile | 1 +
|
|
|
|
drivers/misc/bcm47xx-sprom.c | 690 +++++++++++++++++++++
|
|
|
|
4 files changed, 718 insertions(+)
|
|
|
|
create mode 100644 Documentation/devicetree/bindings/misc/bcm47xx-sprom.txt
|
|
|
|
create mode 100644 drivers/misc/bcm47xx-sprom.c
|
|
|
|
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/Documentation/devicetree/bindings/misc/bcm47xx-sprom.txt
|
|
|
|
@@ -0,0 +1,16 @@
|
|
|
|
+Broadcom bcm47xx/bcm53xx sprom converter
|
|
|
|
+
|
|
|
|
+This driver provbides an sprom based on a given nvram.
|
|
|
|
+
|
|
|
|
+Required properties:
|
|
|
|
+
|
|
|
|
+- compatible : brcm,bcm47xx-sprom
|
|
|
|
+
|
|
|
|
+- nvram : reference to a nvram driver, e.g. bcm47xx-nvram
|
|
|
|
+
|
|
|
|
+Example:
|
|
|
|
+
|
|
|
|
+sprom0: sprom@0 {
|
|
|
|
+ compatible = "brcm,bcm47xx-sprom";
|
|
|
|
+ nvram = <&nvram0>;
|
|
|
|
+};
|
|
|
|
--- a/drivers/misc/Kconfig
|
|
|
|
+++ b/drivers/misc/Kconfig
|
2014-12-11 05:50:57 +08:00
|
|
|
@@ -515,6 +515,17 @@ config VEXPRESS_SYSCFG
|
|
|
|
bus. System Configuration interface is one of the possible means
|
|
|
|
of generating transactions on this bus.
|
2014-10-28 07:02:08 +08:00
|
|
|
|
|
|
|
+config BCM47XX_SPROM
|
|
|
|
+ tristate "BCM47XX sprom driver"
|
|
|
|
+ help
|
|
|
|
+ This driver parses the sprom from a given nvram which is found on
|
|
|
|
+ Broadcom bcm47xx and bcm53xx SoCs.
|
|
|
|
+
|
|
|
|
+ The sprom contains board configuration data like the
|
|
|
|
+ calibration data fro the wifi chips, the mac addresses used
|
|
|
|
+ by the board and many other board configuration data. This
|
|
|
|
+ driver will provide the sprom to bcma.
|
|
|
|
+
|
|
|
|
source "drivers/misc/c2port/Kconfig"
|
|
|
|
source "drivers/misc/eeprom/Kconfig"
|
|
|
|
source "drivers/misc/cb710/Kconfig"
|
|
|
|
--- a/drivers/misc/Makefile
|
|
|
|
+++ b/drivers/misc/Makefile
|
2014-12-11 05:50:57 +08:00
|
|
|
@@ -56,3 +56,4 @@ obj-$(CONFIG_GENWQE) += genwqe/
|
|
|
|
obj-$(CONFIG_ECHO) += echo/
|
2014-10-28 07:02:08 +08:00
|
|
|
obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
|
|
|
|
obj-$(CONFIG_CXL_BASE) += cxl/
|
|
|
|
+obj-$(CONFIG_BCM47XX_SPROM) += bcm47xx-sprom.o
|