Skip to content

Commit 0398ada

Browse files
Rafał Miłeckilinusw
authored andcommitted
Revert "dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon"
This reverts commit 2ae8090. My rework was unneeded & wrong. It replaced a clear & correct "reg" property usage with a custom "offset" one. Back then I didn't understand how to properly handle CRU block binding. I heard / read about syscon and tried to use it in a totally invalid way. That change also missed Rob's review (obviously). Northstar's pin controller is a simple consistent hardware block that can be cleanly mapped using a 0x24 long reg space. Since the rework commit there wasn't any follow up modifying in-kernel DTS files to use the new binding. Broadcom also isn't known to use that bugged binding. There is close to zero chance this revert may actually cause problems / regressions. This commit is a simple revert. Example binding may (should) be updated / cleaned up but that can be handled separately. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 64570fb commit 0398ada

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

Documentation/devicetree/bindings/mfd/brcm,cru.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ properties:
3232
"#size-cells":
3333
const: 1
3434

35-
pinctrl:
36-
$ref: ../pinctrl/brcm,ns-pinmux.yaml
37-
3835
patternProperties:
3936
'^clock-controller@[a-f0-9]+$':
4037
$ref: ../clock/brcm,iproc-clocks.yaml
4138

39+
'^pin-controller@[a-f0-9]+$':
40+
$ref: ../pinctrl/brcm,ns-pinmux.yaml
41+
4242
'^thermal@[a-f0-9]+$':
4343
$ref: ../thermal/brcm,ns-thermal.yaml
4444

@@ -73,9 +73,10 @@ examples:
7373
"iprocfast", "sata1", "sata2";
7474
};
7575
76-
pinctrl {
76+
pin-controller@1c0 {
7777
compatible = "brcm,bcm4708-pinmux";
78-
offset = <0x1c0>;
78+
reg = <0x1c0 0x24>;
79+
reg-names = "cru_gpio_control";
7980
};
8081
8182
thermal@2c0 {

Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,18 @@ description:
1717

1818
A list of pins varies across chipsets so few bindings are available.
1919

20-
Node of the pinmux must be nested in the CRU (Central Resource Unit) "syscon"
21-
node.
22-
2320
properties:
2421
compatible:
2522
enum:
2623
- brcm,bcm4708-pinmux
2724
- brcm,bcm4709-pinmux
2825
- brcm,bcm53012-pinmux
2926

30-
offset:
31-
description: offset of pin registers in the CRU block
27+
reg:
3228
maxItems: 1
33-
$ref: /schemas/types.yaml#/definitions/uint32-array
29+
30+
reg-names:
31+
const: cru_gpio_control
3432

3533
patternProperties:
3634
'-pins$':
@@ -72,19 +70,24 @@ allOf:
7270
uart1_grp ]
7371

7472
required:
75-
- offset
73+
- reg
74+
- reg-names
7675

7776
additionalProperties: false
7877

7978
examples:
8079
- |
8180
cru@1800c100 {
82-
compatible = "syscon", "simple-mfd";
81+
compatible = "simple-bus";
8382
reg = <0x1800c100 0x1a4>;
83+
ranges;
84+
#address-cells = <1>;
85+
#size-cells = <1>;
8486
85-
pinctrl {
87+
pin-controller@1c0 {
8688
compatible = "brcm,bcm4708-pinmux";
87-
offset = <0xc0>;
89+
reg = <0x1c0 0x24>;
90+
reg-names = "cru_gpio_control";
8891
8992
spi-pins {
9093
function = "spi";

0 commit comments

Comments
 (0)