On Wed, Sep 14, 2022 at 12:46 PM Arınç ÜNAL <arinc.unal@xxxxxxxxxx> wrote: > > Hi Sergio, > > On 14.09.2022 12:14, Sergio Paracuellos wrote: > > Hi Arinc, > > > > On Wed, Sep 14, 2022 at 10:55 AM Arınç ÜNAL <arinc.unal@xxxxxxxxxx> wrote: > >> > >> Fix the dtc warnings below. > >> > >> /cpus/cpu@0: failed to match any schema with compatible: ['mips,mips1004Kc'] > >> /cpus/cpu@1: failed to match any schema with compatible: ['mips,mips1004Kc'] > >> uartlite@c00: $nodename:0: 'uartlite@c00' does not match '^serial(@.*)?$' > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/serial/8250.yaml > >> uartlite@c00: Unevaluated properties are not allowed ('clock-names' was unexpected) > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/serial/8250.yaml > >> sdhci@1e130000: $nodename:0: 'sdhci@1e130000' does not match '^mmc(@.*)?$' > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > >> sdhci@1e130000: Unevaluated properties are not allowed ('bus-width', 'cap-mmc-highspeed', 'cap-sd-highspeed', 'disable-wp', 'max-frequency', 'vmmc-supply', 'vqmmc-supply' were unexpected) > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > >> xhci@1e1c0000: $nodename:0: 'xhci@1e1c0000' does not match '^usb(@.*)?' > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml > >> xhci@1e1c0000: compatible: ['mediatek,mt8173-xhci'] is too short > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml > >> switch0@0: $nodename:0: 'switch0@0' does not match '^(ethernet-)?switch(@.*)?$' > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > >> port@1: status:0: 'off' is not one of ['okay', 'disabled', 'reserved'] > >> From schema: /home/arinc9/.local/lib/python3.10/site-packages/dtschema/schemas/dt-core.yaml > >> port@2: status:0: 'off' is not one of ['okay', 'disabled', 'reserved'] > >> From schema: /home/arinc9/.local/lib/python3.10/site-packages/dtschema/schemas/dt-core.yaml > >> port@3: status:0: 'off' is not one of ['okay', 'disabled', 'reserved'] > >> From schema: /home/arinc9/.local/lib/python3.10/site-packages/dtschema/schemas/dt-core.yaml > >> > >> - Remove "mips,mips1004Kc" compatible string from the cpu nodes. This > >> doesn't exist anywhere. > >> - Change "memc: syscon@5000" to "memc: memory-controller@5000". > >> - Change "uartlite: uartlite@c00" to "serial0: serial@c00" and remove the > >> aliases node. > >> - Remove "clock-names" from the serial0 node. The property doesn't exist on > >> the 8250.yaml schema. > >> - Change "sdhci: sdhci@1e130000" to "mmc: mmc@1e130000". > >> - Change "xhci: xhci@1e1c0000" to "usb: usb@1e1c0000". > >> - Add "mediatek,mtk-xhci" as the second compatible string on the usb node. > >> - Change "switch0: switch0@0" to "switch0: switch@0" > >> - Change "off" to "disabled" for disabled nodes. > >> > >> Remaining warnings are caused by the lack of json-schema documentation. > >> > >> /cpuintc: failed to match any schema with compatible: ['mti,cpu-interrupt-controller'] > >> /palmbus@1e000000/wdt@100: failed to match any schema with compatible: ['mediatek,mt7621-wdt'] > >> /palmbus@1e000000/i2c@900: failed to match any schema with compatible: ['mediatek,mt7621-i2c'] > >> /palmbus@1e000000/spi@b00: failed to match any schema with compatible: ['ralink,mt7621-spi'] > >> /ethernet@1e100000: failed to match any schema with compatible: ['mediatek,mt7621-eth'] > >> > >> Signed-off-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx> > >> --- > >> .../boot/dts/ralink/mt7621-gnubee-gb-pc1.dts | 2 +- > >> .../boot/dts/ralink/mt7621-gnubee-gb-pc2.dts | 2 +- > >> arch/mips/boot/dts/ralink/mt7621.dtsi | 32 +++++++------------ > >> 3 files changed, 14 insertions(+), 22 deletions(-) > >> > >> diff --git a/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc1.dts b/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc1.dts > >> index 24eebc5a85b1..6ecb8165efe8 100644 > >> --- a/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc1.dts > >> +++ b/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc1.dts > >> @@ -53,7 +53,7 @@ system { > >> }; > >> }; > >> > >> -&sdhci { > >> +&mmc { > >> status = "okay"; > >> }; > >> > >> diff --git a/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts b/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts > >> index 34006e667780..2e534ea5bab7 100644 > >> --- a/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts > >> +++ b/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts > >> @@ -37,7 +37,7 @@ key-reset { > >> }; > >> }; > >> > >> -&sdhci { > >> +&mmc { > >> status = "okay"; > >> }; > >> > >> diff --git a/arch/mips/boot/dts/ralink/mt7621.dtsi b/arch/mips/boot/dts/ralink/mt7621.dtsi > >> index ee46ace0bcc1..9302bdc04510 100644 > >> --- a/arch/mips/boot/dts/ralink/mt7621.dtsi > >> +++ b/arch/mips/boot/dts/ralink/mt7621.dtsi > >> @@ -15,13 +15,11 @@ cpus { > >> > >> cpu@0 { > >> device_type = "cpu"; > >> - compatible = "mips,mips1004Kc"; > >> reg = <0>; > >> }; > >> > >> cpu@1 { > >> device_type = "cpu"; > >> - compatible = "mips,mips1004Kc"; > >> reg = <1>; > >> }; > >> }; > > > > Instead of removing this, since compatible is correct here, I think a > > cpus yaml file needs to be added to properly define mips CPU's but > > compatible strings using all around the sources are a bit messy. Take > > a look of how is this done for arm [0] > > I did investigate the arm bindings beforehand. I've seen that some of > the strings are also checked by code. I don't see the mips strings used > anywhere but DTs so I had decided to remove it here. I guess we can make > a basic binding to list the mips processor cores. At the very least I do think a compatible string should exist for cpu nodes :). And because of the mess with MIPS cpu nodes in dts files all around I think we should only add this 'compatible' as a requirement and mark 'reg' and 'device_type' as optionals. > > What do you think Thomas? > > > > >> @@ -33,11 +31,6 @@ cpuintc: cpuintc { > >> compatible = "mti,cpu-interrupt-controller"; > >> }; > >> > >> - aliases { > >> - serial0 = &uartlite; > >> - }; > >> - > >> - > >> mmc_fixed_3v3: regulator-3v3 { > >> compatible = "regulator-fixed"; > >> regulator-name = "mmc_power"; > >> @@ -110,17 +103,16 @@ i2c: i2c@900 { > >> pinctrl-0 = <&i2c_pins>; > >> }; > >> > >> - memc: syscon@5000 { > >> + memc: memory-controller@5000 { > >> compatible = "mediatek,mt7621-memc", "syscon"; > >> reg = <0x5000 0x1000>; > >> }; > >> > > > > I think syscon nodes need to use 'syscon' in the node name, but I am > > not 100% sure. > > I've tested this patch series on my GB-PC2, it currently works fine. > Also, DT binding for MT7621 memory controller uses memory-controller on > the example so I guess it's fine? I know that works fine but when the node is a syscon it is good to have that syscon in the node name (I don't know if having it is a rule or something, I guess no). In any case I agree that binding and dts should match. Best regards, Sergio Paracuellos > > Arınç