Re: [PATCH V2 09/13] dt-bindings: arm: Convert BCM2835 board/soc bindings to json-schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rob,

Am 13.08.19 um 19:22 schrieb Rob Herring:
> On Tue, Aug 13, 2019 at 10:21 AM Stefan Wahren <wahrenst@xxxxxxx> wrote:
>> Convert the BCM2835/6/7 SoC bindings to DT schema format using json-schema.
>> All the other Broadcom boards are maintained by Florian Fainelli.
>>
>> Signed-off-by: Stefan Wahren <wahrenst@xxxxxxx>
>> Acked-by: Eric Anholt <eric@xxxxxxxxxx>
>> ---
>>  .../devicetree/bindings/arm/bcm/bcm2835.yaml       | 46 +++++++++++++++
>>  .../devicetree/bindings/arm/bcm/brcm,bcm2835.txt   | 67 ----------------------
>>  2 files changed, 46 insertions(+), 67 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
>>  delete mode 100644 Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
>>
>> diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
>> new file mode 100644
>> index 0000000..1a4be26
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
>> @@ -0,0 +1,46 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/arm/bcm/bcm2835.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Broadcom BCM2711/BCM2835 Platforms Device Tree Bindings
>> +
>> +maintainers:
>> +  - Eric Anholt <eric@xxxxxxxxxx>
>> +  - Stefan Wahren <wahrenst@xxxxxxx>
>> +
>> +properties:
>> +  $nodename:
>> +    const: '/'
>> +  compatible:
>> +    oneOf:
>> +      - description: BCM2835 based Boards
>> +        items:
>> +          - enum:
>> +              - raspberrypi,model-a
>> +              - raspberrypi,model-a-plus
>> +              - raspberrypi,model-b
>> +              - raspberrypi,model-b-i2c0  # Raspberry Pi Model B (no P5)
>> +              - raspberrypi,model-b-rev2
>> +              - raspberrypi,model-b-plus
>> +              - raspberrypi,compute-module
>> +              - raspberrypi,model-zero
>> +              - raspberrypi,model-zero-w
>> +          - const: brcm,bcm2835
>> +
>> +      - description: BCM2836 based Boards
>> +        items:
>> +          - enum:
>> +              - raspberrypi,2-model-b
> Don't you need brcm,bcm2836 here?
>
>> +
>> +      - description: BCM2837 based Boards
>> +        items:
>> +          - enum:
>> +              - raspberrypi,3-model-a-plus
>> +              - raspberrypi,3-model-b
>> +              - raspberrypi,3-model-b-plus
>> +              - raspberrypi,3-compute-module
>> +              - raspberrypi,3-compute-module-lite
> Don't you need brcm,bcm2837 here?
>
> Please run 'dtbs_check' and make sure there aren't warnings (in the root node).

thanks, after addressing your comments the root node doesn't have
warnings anymore.

Beside that there a lot of other warnings:

  DTC     arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml
  CHECK   arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
arm-pmu: compatible: ['arm,cortex-a72-pmu', 'arm,armv8-pmuv3'] is too long
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
arm-pmu: compatible: Additional items are not allowed ('arm,armv8-pmuv3'
was unexpected)

I think the schema is a little bit too strict by prohibit a fallback
compatible.

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201800: Additional properties are not allowed
('arm,primecell-periphid' was unexpected)

In the old txt version this was an allowed property.

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
firmware: $nodename:0: 'firmware' does not match
'^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
firmware: '#address-cells' is a required property
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
firmware: '#size-cells' is a required property
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
firmware: 'ranges' is a required property

I suggest to fix this by removing the "simple-bus".

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201a00: Additional properties are not allowed
('arm,primecell-periphid' was unexpected)
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
gpio@7e200000: 'pinctrl-0' is a dependency of 'pinctrl-names'

This could be fixed by removing pinctrl-names.

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201600: Additional properties are not allowed
('arm,primecell-periphid' was unexpected)
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
gic400@40041000: $nodename:0: 'gic400@40041000' does not match
'^interrupt-controller(@[0-9a-f,]+)*$'

I will rename gic400 to interrupt-controller.

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201400: Additional properties are not allowed
('arm,primecell-periphid' was unexpected)
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201000: compatible: ['brcm,bcm2835-pl011', 'arm,pl011',
'arm,primecell'] is not valid under any of the given schemas
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
serial@7e201000: Additional properties are not allowed ('bluetooth',
'arm,primecell-periphid' were unexpected)
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
sd_io_1v8_reg: states:0: [1800000, 1, 3300000, 0] is too long
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
sd_io_1v8_reg: states:0: Additional items are not allowed (3300000, 0
were unexpected)

No idea what is wrong here

/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml: clocks:
#size-cells:0:0: 0 is not one of [1, 2]
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml: clocks:
$nodename:0: 'clocks' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml: clocks:
clock@3:reg:0: [3] is too short
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml: clocks:
clock@4:reg:0: [4] is too short
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml: clocks:
'ranges' is a required property
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
clock@3: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'
/home/stefan/torvalds/arch/arm/boot/dts/bcm2711-rpi-4-b.dt.yaml:
clock@4: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'

This could be fixed by avoiding a simple-bus for the fixed clocks.

Stefan

>
> Rob
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux