[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191114114525.12675-2-orson.zhai@unisoc.com>
Date: Thu, 14 Nov 2019 19:45:24 +0800
From: Orson Zhai <orson.zhai@...soc.com>
To: Lee Jones <lee.jones@...aro.org>, Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Arnd Bergmann <arnd@...db.de>
CC: <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<steven.tang@...soc.com>, Orson Zhai <orson.zhai@...soc.com>
Subject: [PATCH 1/2] dt-bindings: Add syscon-names support
Make life easier when syscon consumer want to access multiple syscon
nodes.
Add syscon-names and relative properties to help manage complicated
cases when accessing more one syscon node.
Signed-off-by: Orson Zhai <orson.zhai@...soc.com>
---
.../devicetree/bindings/mfd/syscon.txt | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/Documentation/devicetree/bindings/mfd/syscon.txt b/Documentation/devicetree/bindings/mfd/syscon.txt
index 25d9e9c2fd53..ca7bc7608c15 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.txt
+++ b/Documentation/devicetree/bindings/mfd/syscon.txt
@@ -17,6 +17,8 @@ Optional property:
- reg-io-width: the size (in bytes) of the IO accesses that should be
performed on the device.
- hwlocks: reference to a phandle of a hardware spinlock provider node.
+- #syscon-cells: represents the number of args. Used when syscon-names
+ is going to be used. The value is vendor specific.
Examples:
gpr: iomuxc-gpr@...0000 {
@@ -30,3 +32,37 @@ hwlock1: hwspinlock@...00000 {
reg = <0x40500000 0x1000>;
#hwlock-cells = <1>;
};
+
+
+==Syscon names==
+
+Refer to syscon node by names with phandle args in syscon consumer node.
+
+Required properties:
+- syscons: List of phandle and any number of args. Args is specific to
+ differnet vendor. For example: In Unisoc SoCs, the 1st arg
+ will be treated as register address offset and the 2nd is bit
+ mask as default.
+
+- syscon-names: List of syscon node name strings sorted in the same
+ order as the syscons property.
+
+Examples:
+
+apb_regs: syscon@...08000 {
+ compatible = "sprd,apb-glb", "syscon";
+ #syscon-cells = <2>;
+ reg = <0x20008000 0x100>;
+};
+
+aon_regs: syscon@...08000 {
+ compatible = "sprd,aon-glb", "syscon";
+ #syscon-cells = <1>;
+ reg = <0x40008000 0x100>;
+};
+
+display@...00000 {
+ ...
+ syscons = <&ap_apb_regs 0x4 0xf00>, <&aon_regs 0x8>;
+ syscon-names = "enable", "power";
+};
--
2.18.0
Powered by blists - more mailing lists