Re: [PATCH v2] arm64: dts: imx8mp-venice-gw74xx: update to revB PCB

From: Tim Harvey
Date: Fri Jun 09 2023 - 15:48:47 EST


On Fri, Jun 9, 2023 at 7:38 AM Shawn Guo <shawnguo@xxxxxxxxxx> wrote:
>
> On Tue, Jun 06, 2023 at 08:26:52AM -0700, Tim Harvey wrote:
> > Update the imx8mp-venice-gw74xx for revB:
> > - add CAN1
> > - add TIS-TPM on SPI2
> > - add FAN controller
> > - fix PMIC I2C bus (revA PMIC I2C was non-functional so no need for
> > backward compatible option)
> > - M2 socket GPIO's moved
> >
> > Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
>
> ../arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts:402.4-17: Warning (reg_format): /soc@0/bus@30800000/i2c@30a20000/gsc@20/fan-controller@a:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: Warning (pci_device_reg): Failed prerequisite 'reg_format'
> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
> ../arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts:400.20-403.5: Warning (avoid_default_addr_size): /soc@0/bus@30800000/i2c@30a20000/gsc@20/fan-controller@a: Relying on default #address-cells value
> ../arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts:400.20-403.5: Warning (avoid_default_addr_size): /soc@0/bus@30800000/i2c@30a20000/gsc@20/fan-controller@a: Relying on default #size-cells value
>

Shawn,

Looks like I'm missing an '#address-cells' and '#size-cells' in the
gsc node. I will send a v3.

How do you filter through all the known (and ignored?) warnings that
are failing dtbs_check because various dt-binding yamls which are
either missing or need updates such as the following:

/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
timer@302d0000: compatible: 'oneOf' conditional failed, one must be
fixed:
['fsl,imx8mp-gpt', 'fsl,imx6dl-gpt'] is too long
'fsl,imx1-gpt' was expected
'fsl,imx21-gpt' was expected
'fsl,imx27-gpt' was expected
'fsl,imx31-gpt' was expected
'fsl,imx8mp-gpt' is not one of ['fsl,imx25-gpt', 'fsl,imx50-gpt',
'fsl,imx51-gpt', 'fsl,imx53-gpt', 'fsl,imx6q-gpt']
'fsl,imx6dl-gpt' was expected
'fsl,imx8mp-gpt' is not one of ['fsl,imx6sl-gpt', 'fsl,imx6sx-gpt',
'fsl,imxrt1050-gpt', 'fsl,imxrt1170-gpt']
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/timer/fsl,imxgpt.yaml
^^^ get this for all the imx gpt timers

arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
/soc@0/bus@30800000/spba-bus@30800000/spi@30820000/tpm@0: failed to
match any schema with compatible: ['tcg,tpm_tis-spi']
/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
accelerometer@19: 'interrupt-names' does not match any of the regexes:
'pinctrl-[0-9]+'
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
^^^ is 'interrupt-names = "INT1"' really invalid here?

/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
switch@5f: Unevaluated properties are not allowed ('interrupt-parent',
'interrupts' were unexpected)
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
^^^ microchip,ksz.yaml doesn't describe interrupts yet the driver uses them

/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
wifi@0: compatible: 'oneOf' conditional failed, one must be fixed:
['cypress,cyw4373-fmac'] is too short
'cypress,cyw4373-fmac' is not one of ['brcm,bcm4329-fmac',
'pci14e4,43dc', 'pci14e4,4464', 'pci14e4,4488', 'pci14e4,4425',
'pci14e4,4433']
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml
^^^ This one I don't understand at all - brcm,bcm4329-fmac.yaml
defines 'cypress,cyw4373-fmac under oneOf/items/enum but not
oneOf/enum???

/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
pcie@33800000: Unevaluated properties are not allowed
('assigned-clock-parents', 'assigned-clock-rates', 'assigned-clocks'
were unexpected)
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
^^^ we get this on all imx with pcie

/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
usb@32f10100: usb@38100000: Unevaluated properties are not allowed
('connector' was unexpected)
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml
/usr/src/venice/linux-master/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb:
usb@38100000: Unevaluated properties are not allowed ('connector' was
unexpected)
>From schema: /usr/src/venice/linux-master/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
^^^ fsl,imx8mp-dwc3.yaml doesn't document connector nodes

arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: /pps: failed
to match any schema with compatible: ['pps-gpio']
^^^ need a pps-gpio.yaml

Is there a way to skip certain schemas or some multi-line grep -v
pattern you are using?

I've noticed a lot of contributors putting time into dt-bindings to
pass schema checks and things are getting cleaned up fairly quickly.

Best Regards,

Tim