Message ID | 20220930212052.894834-1-dmitry.baryshkov@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: soc: qcom: YAML-ify SSBI bindings | expand |
On 02/10/2022 15:46, Dmitry Baryshkov wrote: >>> + enum: >>> + - ssbi >>> + - ssbi2 >>> + - pmic-arbiter >>> + >>> + pmic: >>> + type: object >> >> This is quite unspecific... Can we make it a ref to some PMICs schemas? > > Yes, I thought about listing all compats, but probably a $ref: > ../mfd/qcom-pm8xxx.yaml# makes more sense. Then full path - /schemas/mfd/qcom-.... > >> Best regards, Krzysztof
On Sat, 01 Oct 2022 00:20:51 +0300, Dmitry Baryshkov wrote: > Convert arm/msm/ssbi.txt yo YAML, moving it to the directory with SoC > bindings (soc/qcom/). > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > .../devicetree/bindings/arm/msm/ssbi.txt | 18 ------ > .../bindings/soc/qcom/qcom,ssbi.yaml | 63 +++++++++++++++++++ > 2 files changed, 63 insertions(+), 18 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/arm/msm/ssbi.txt > create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,ssbi.yaml > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/ qcom,ssbi@500000: 'pmic@0' does not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb ssbi@c00000: 'pmic@1' does not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb
On Mon, Oct 03, 2022 at 08:46:09AM +0200, Krzysztof Kozlowski wrote: > On 02/10/2022 15:46, Dmitry Baryshkov wrote: > >>> + enum: > >>> + - ssbi > >>> + - ssbi2 > >>> + - pmic-arbiter > >>> + > >>> + pmic: > >>> + type: object > >> > >> This is quite unspecific... Can we make it a ref to some PMICs schemas? > > > > Yes, I thought about listing all compats, but probably a $ref: > > ../mfd/qcom-pm8xxx.yaml# makes more sense. > > Then full path - /schemas/mfd/qcom-.... While effectively it's always a QCom PMIC, this is a bus binding, so shouldn't it just be 'additionalProperties: { type: object }' without any reference to the type of device? Rob
On Sat, Oct 01, 2022 at 12:20:51AM +0300, Dmitry Baryshkov wrote: > Convert arm/msm/ssbi.txt yo YAML, moving it to the directory with SoC > bindings (soc/qcom/). YAML-ify? Can we say 'convert to DT schema' instead like everywhere else. YAML is a file format. It doesn't describe the vocabulary. Rob
On 03/10/2022 19:17, Rob Herring wrote: > On Mon, Oct 03, 2022 at 08:46:09AM +0200, Krzysztof Kozlowski wrote: >> On 02/10/2022 15:46, Dmitry Baryshkov wrote: >>>>> + enum: >>>>> + - ssbi >>>>> + - ssbi2 >>>>> + - pmic-arbiter >>>>> + >>>>> + pmic: >>>>> + type: object >>>> >>>> This is quite unspecific... Can we make it a ref to some PMICs schemas? >>> >>> Yes, I thought about listing all compats, but probably a $ref: >>> ../mfd/qcom-pm8xxx.yaml# makes more sense. >> >> Then full path - /schemas/mfd/qcom-.... > > While effectively it's always a QCom PMIC, this is a bus binding, so > shouldn't it just be 'additionalProperties: { type: object }' without > any reference to the type of device? If we treat it as generic bus, then maybe also "pmic" is not appropriate. What if other devices are connected? Bindings were saying it is Qualcomm SoC specific bus, so I don't think we can have here anything else than Qualcomm PMIC. Best regards, Krzysztof
On Mon, 3 Oct 2022 at 20:32, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 03/10/2022 19:17, Rob Herring wrote: > > On Mon, Oct 03, 2022 at 08:46:09AM +0200, Krzysztof Kozlowski wrote: > >> On 02/10/2022 15:46, Dmitry Baryshkov wrote: > >>>>> + enum: > >>>>> + - ssbi > >>>>> + - ssbi2 > >>>>> + - pmic-arbiter > >>>>> + > >>>>> + pmic: > >>>>> + type: object > >>>> > >>>> This is quite unspecific... Can we make it a ref to some PMICs schemas? > >>> > >>> Yes, I thought about listing all compats, but probably a $ref: > >>> ../mfd/qcom-pm8xxx.yaml# makes more sense. > >> > >> Then full path - /schemas/mfd/qcom-.... > > > > While effectively it's always a QCom PMIC, this is a bus binding, so > > shouldn't it just be 'additionalProperties: { type: object }' without > > any reference to the type of device? > > If we treat it as generic bus, then maybe also "pmic" is not > appropriate. What if other devices are connected? It's a 1:1 bus, so SSBI host can be connected to a single IC. This bus is not used in new designs (it got replaced with SPMI). All existing devices use SSBI to connect to PMIC. So I think it is safe to assume that the only ssbi child is a PMIC. > > Bindings were saying it is Qualcomm SoC specific bus, so I don't think > we can have here anything else than Qualcomm PMIC. > > Best regards, > Krzysztof >
On Sat, 1 Oct 2022 00:20:51 +0300, Dmitry Baryshkov wrote: > Convert arm/msm/ssbi.txt yo YAML, moving it to the directory with SoC > bindings (soc/qcom/). > > Applied, thanks! [2/2] ARM: dts: qcom: mdm9615: drop unit ids from PMIC nodes commit: 0d6e44e257ec53b41c2969130e0eb97b0a41b1d6 Best regards,
diff --git a/Documentation/devicetree/bindings/arm/msm/ssbi.txt b/Documentation/devicetree/bindings/arm/msm/ssbi.txt deleted file mode 100644 index 54fd5ced3401..000000000000 --- a/Documentation/devicetree/bindings/arm/msm/ssbi.txt +++ /dev/null @@ -1,18 +0,0 @@ -* Qualcomm SSBI - -Some Qualcomm MSM devices contain a point-to-point serial bus used to -communicate with a limited range of devices (mostly power management -chips). - -These require the following properties: - -- compatible: "qcom,ssbi" - -- qcom,controller-type - indicates the SSBI bus variant the controller should use to talk - with the slave device. This should be one of "ssbi", "ssbi2", or - "pmic-arbiter". The type chosen is determined by the attached - slave. - -The slave device should be the single child node of the ssbi device -with a compatible field. diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,ssbi.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,ssbi.yaml new file mode 100644 index 000000000000..6154f7222899 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ssbi.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/qcom/qcom,ssbi.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm Single-wire Serial Bus Interface (SSBI) + +description: + Some Qualcomm MSM devices contain a point-to-point serial bus used to + communicate with a limited range of devices (mostly power management + chips). + +maintainers: + - Andy Gross <agross@kernel.org> + - Bjorn Andersson <andersson@kernel.org> + +properties: + compatible: + const: qcom,ssbi + + reg: + maxItems: 1 + + qcom,controller-type: + description: + Indicates the SSBI bus variant the controller should use to talk + with the slave device. The type chosen is determined by the attached + slave. + enum: + - ssbi + - ssbi2 + - pmic-arbiter + + pmic: + type: object + +required: + - compatible + - reg + - qcom,controller-type + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + ssbi@c00000 { + compatible = "qcom,ssbi"; + reg = <0x00c00000 0x1000>; + qcom,controller-type = "pmic-arbiter"; + + pmic { + compatible = "qcom,pm8821"; + interrupt-parent = <&msmgpio>; + interrupts = <76 IRQ_TYPE_LEVEL_LOW>; + #interrupt-cells = <2>; + interrupt-controller; + #address-cells = <1>; + #size-cells = <0>; + }; + }; +...
Convert arm/msm/ssbi.txt yo YAML, moving it to the directory with SoC bindings (soc/qcom/). Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- .../devicetree/bindings/arm/msm/ssbi.txt | 18 ------ .../bindings/soc/qcom/qcom,ssbi.yaml | 63 +++++++++++++++++++ 2 files changed, 63 insertions(+), 18 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/ssbi.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,ssbi.yaml