[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMhs-H9m9LdQ3J5PjDNo_fh1b6rhSdu5Ddb3nfE=2nWxfTCP=A@mail.gmail.com>
Date: Thu, 15 Sep 2022 07:59:04 +0200
From: Sergio Paracuellos <sergio.paracuellos@...il.com>
To: Arınç ÜNAL <arinc.unal@...nc9.com>
Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Sean Wang <sean.wang@...iatek.com>,
Landen Chao <Landen.Chao@...iatek.com>,
DENG Qingfang <dqfext@...il.com>, erkin.bozoglu@...ont.com,
netdev <netdev@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, linux-arm-kernel@...ts.infradead.org,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@...ts.infradead.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
"open list:MIPS" <linux-mips@...r.kernel.org>
Subject: Re: [PATCH 05/10] mips: dts: ralink: mt7621: fix some dtc warnings
On Thu, Sep 15, 2022 at 5:30 AM Sergio Paracuellos
<sergio.paracuellos@...il.com> wrote:
>
> On Wed, Sep 14, 2022 at 12:46 PM Arınç ÜNAL <arinc.unal@...nc9.com> 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@...nc9.com> 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@...' 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@...30000: $nodename:0: 'sdhci@...30000' does not match '^mmc(@.*)?$'
> > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
> > >> sdhci@...30000: 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@...c0000: $nodename:0: 'xhci@...c0000' does not match '^usb(@.*)?'
> > >> From schema: /home/arinc9/Documents/linux/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml
> > >> xhci@...c0000: 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@...0" to "memc: memory-controller@...0".
> > >> - 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@...30000" to "mmc: mmc@...30000".
> > >> - Change "xhci: xhci@...c0000" to "usb: usb@...c0000".
> > >> - 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@...00000/wdt@100: failed to match any schema with compatible: ['mediatek,mt7621-wdt']
> > >> /palmbus@...00000/i2c@900: failed to match any schema with compatible: ['mediatek,mt7621-i2c']
> > >> /palmbus@...00000/spi@b00: failed to match any schema with compatible: ['ralink,mt7621-spi']
> > >> /ethernet@...00000: failed to match any schema with compatible: ['mediatek,mt7621-eth']
> > >>
> > >> Signed-off-by: Arınç ÜNAL <arinc.unal@...nc9.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@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.
I have just sent a patch to start from containing all compatible
strings I have found in the 'arch/mips/boot/dts' folder:
https://lore.kernel.org/linux-devicetree/20220915055514.463241-1-sergio.paracuellos@gmail.com/T/#u
>
> >
> > 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@...0 {
> > >> + memc: memory-controller@...0 {
> > >> 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ç
Best regards,
Sergio Paracuellos
Powered by blists - more mailing lists