On 23/01/2022 18:26, Andrew Lunn wrote:
On Sun, Jan 23, 2022 at 11:33:04AM +0300, Arınç ÜNAL wrote:
Hey Deng,
On 23/01/2022 09:51, DENG Qingfang wrote:
Hi,
Do you set the ethernet pinmux correctly?
ðernet {
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
};
This fixed it! We did have &rgmii2_pins on the gmac1 node (it was originally
on external_phy) so we never thought to investigate the pinctrl
configuration further! Turns out &rgmii2_pins needs to be defined on the
ethernet node instead.
PHYs are generally external, so pinmux on them makes no sense. PHYs in
DT are not devices in the usual sense, so i don't think the driver
core will handle pinmux for them, even if you did list them.
This could be interesting for the DT compliance checker. Ideally we
want it to warn if it finds a pinmux configuration in a PHY node.
I don't see any warnings about it:
$ cpp -nostdinc -I include -I arch -undef -x assembler-with-cpp
drivers/staging/mt7621-dts/mt7621.dtsi mt7621.dtsi.preprocessed
$ dtc -I dts -O dtb -p 0x1000 mt7621.dtsi.preprocessed -o mt7621.dtb
drivers/staging/mt7621-dts/mt7621.dtsi:28.21-33.4: Warning
(unit_address_vs_reg): /cpuintc@0: node has a unit name, but no reg property
drivers/staging/mt7621-dts/mt7621.dtsi:40.34-47.6: Warning
(unit_address_vs_reg): /fixedregulator@0: node has a unit name, but no
reg property
drivers/staging/mt7621-dts/mt7621.dtsi:49.39-56.4: Warning
(unit_address_vs_reg): /fixedregulator@1: node has a unit name, but no
reg property
drivers/staging/mt7621-dts/mt7621.dtsi:410.11-449.7: Warning
(unit_address_vs_reg): /ethernet@1e100000/mdio-bus/switch0@0/ports: node
has a reg or ranges property, but no unit name
drivers/staging/mt7621-dts/mt7621.dtsi:28.21-33.4: Warning
(unique_unit_address): /cpuintc@0: duplicate unit-address (also used in
node /fixedregulator@0)
It also sounds like you had them somewhere else wrong?
Yes, it was under the phy_external node:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/mt7621-dts/mt7621.dtsi#n350
I had put it under gmac1 node instead since we didn't enable the
phy_external node.
Arınç