Message ID | a361b227a273315fe9a9b822419863f0eb59bb46.1682513390.git.oleksii_moisieiev@epam.com |
---|---|
State | New |
Headers | show |
Series | Introducing generic SCMI pinctrl driver implementation | expand |
On 26/04/2023 15:26, Oleksii Moisieiev wrote: > Add new SCMI v3.2 pinctrl protocol bindings definitions and example. > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> Please use scripts/get_maintainers.pl to get a list of necessary people and lists to CC. It might happen, that command when run on an older kernel, gives you outdated entries. Therefore please be sure you base your patches on recent Linux kernel. You missed several entries, including DT list, so this won't be tested. I won't be doing full review, no point if patch is not tested. > --- > .../bindings/firmware/arm,scmi.yaml | 77 +++++++++++++++++++ > 1 file changed, 77 insertions(+) > > diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > index 2f7c51c75e85..41ba5b8d8151 100644 > --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > @@ -212,6 +212,63 @@ properties: > reg: > const: 0x18 > > + protocol@19: > + $ref: '#/$defs/protocol-node' > + > + properties: > + reg: > + const: 0x19 > + > + '#pinctrl-cells': > + const: 0 > + > + allOf: > + - $ref: "/schemas/pinctrl/pinctrl.yaml#" Drop quotes. > + > + required: > + - reg > + > + additionalProperties: > + anyOf: > + - type: object > + allOf: > + - $ref: /schemas/pinctrl/pincfg-node.yaml# > + - $ref: /schemas/pinctrl/pinmux-node.yaml# > + > + description: > + A pin multiplexing sub-node describe how to configure a > + set of pins is some desired function. > + A single sub-node may define several pin configurations. > + This sub-node is using default pinctrl bindings to configure > + pin multiplexing and using SCMI protocol to apply specified > + configuration using SCMI protocol. > + > + properties: > + phandle: true What's this? > + function: true > + groups: true > + pins: true > + bias-bus-hold: true > + bias-disable: true > + bias-high-impedance: true > + bias-pull-up: true > + bias-pull-default: true > + bias-pull-down: true > + drive-open-drain: true > + drive-open-source: true > + drive-push-pull: true > + drive-strength: true > + input-debounce: true > + input-value: true > + input-schmitt: true > + low-power-mode: true > + output-mode: true > + output-value: true > + power-source: true > + skew-rate: true > + > + additionalProperties: true This should be false... but if it is true, then listing all properties does not make sense. And anyway usual way is to make it instead unevaluatedProperties:false. I have troubles understanding your goal here. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml index 2f7c51c75e85..41ba5b8d8151 100644 --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml @@ -212,6 +212,63 @@ properties: reg: const: 0x18 + protocol@19: + $ref: '#/$defs/protocol-node' + + properties: + reg: + const: 0x19 + + '#pinctrl-cells': + const: 0 + + allOf: + - $ref: "/schemas/pinctrl/pinctrl.yaml#" + + required: + - reg + + additionalProperties: + anyOf: + - type: object + allOf: + - $ref: /schemas/pinctrl/pincfg-node.yaml# + - $ref: /schemas/pinctrl/pinmux-node.yaml# + + description: + A pin multiplexing sub-node describe how to configure a + set of pins is some desired function. + A single sub-node may define several pin configurations. + This sub-node is using default pinctrl bindings to configure + pin multiplexing and using SCMI protocol to apply specified + configuration using SCMI protocol. + + properties: + phandle: true + function: true + groups: true + pins: true + bias-bus-hold: true + bias-disable: true + bias-high-impedance: true + bias-pull-up: true + bias-pull-default: true + bias-pull-down: true + drive-open-drain: true + drive-open-source: true + drive-push-pull: true + drive-strength: true + input-debounce: true + input-value: true + input-schmitt: true + low-power-mode: true + output-mode: true + output-value: true + power-source: true + skew-rate: true + + additionalProperties: true + additionalProperties: false $defs: @@ -356,6 +413,26 @@ examples: scmi_powercap: protocol@18 { reg = <0x18>; }; + + scmi_pinctrl: protocol@19 { + reg = <0x19>; + #pinctrl-cells = <0>; + + i2c2 { + groups = "i2c2_a", "i2c2_b"; + function = "i2c2"; + }; + + pins_mdio { + groups = "avb_mdio"; + drive-strength = <24>; + }; + + keys_pins: keys { + pins = "GP_5_17", "GP_5_20", "GP_5_22", "GP_2_1"; + bias-pull-up; + }; + }; }; };
Add new SCMI v3.2 pinctrl protocol bindings definitions and example. Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> --- .../bindings/firmware/arm,scmi.yaml | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+)