[PATCH 05/10] mips: dts: ralink: mt7621: fix some dtc warnings

Arınç ÜNAL arinc.unal at arinc9.com
Wed Sep 14 03:45:45 PDT 2022


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 at arinc9.com> wrote:
>>
>> Fix the dtc warnings below.
>>
>> /cpus/cpu at 0: failed to match any schema with compatible: ['mips,mips1004Kc']
>> /cpus/cpu at 1: failed to match any schema with compatible: ['mips,mips1004Kc']
>> uartlite at c00: $nodename:0: 'uartlite at c00' does not match '^serial(@.*)?$'
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/serial/8250.yaml
>> uartlite at c00: Unevaluated properties are not allowed ('clock-names' was unexpected)
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/serial/8250.yaml
>> sdhci at 1e130000: $nodename:0: 'sdhci at 1e130000' does not match '^mmc(@.*)?$'
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
>> sdhci at 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 at 1e1c0000: $nodename:0: 'xhci at 1e1c0000' does not match '^usb(@.*)?'
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml
>> xhci at 1e1c0000: compatible: ['mediatek,mt8173-xhci'] is too short
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml
>> switch0 at 0: $nodename:0: 'switch0 at 0' does not match '^(ethernet-)?switch(@.*)?$'
>>          From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>> port at 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 at 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 at 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 at 5000" to "memc: memory-controller at 5000".
>> - Change "uartlite: uartlite at c00" to "serial0: serial at 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 at 1e130000" to "mmc: mmc at 1e130000".
>> - Change "xhci: xhci at 1e1c0000" to "usb: usb at 1e1c0000".
>> - Add "mediatek,mtk-xhci" as the second compatible string on the usb node.
>> - Change "switch0: switch0 at 0" to "switch0: switch at 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 at 1e000000/wdt at 100: failed to match any schema with compatible: ['mediatek,mt7621-wdt']
>> /palmbus at 1e000000/i2c at 900: failed to match any schema with compatible: ['mediatek,mt7621-i2c']
>> /palmbus at 1e000000/spi at b00: failed to match any schema with compatible: ['ralink,mt7621-spi']
>> /ethernet at 1e100000: failed to match any schema with compatible: ['mediatek,mt7621-eth']
>>
>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>> ---
>>   .../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 at 0 {
>>                          device_type = "cpu";
>> -                       compatible = "mips,mips1004Kc";
>>                          reg = <0>;
>>                  };
>>
>>                  cpu at 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.

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 at 900 {
>>                          pinctrl-0 = <&i2c_pins>;
>>                  };
>>
>> -               memc: syscon at 5000 {
>> +               memc: memory-controller at 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?

Arınç



More information about the linux-arm-kernel mailing list