Hi Rafal, On Sat, Jul 29, 2023 at 1:55 PM Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > > Hi, > > I'm trying to understand MediaTek's Ethernet controller resets. > > I noticed there is sth fishy when checking dts files. See following > errors: > > arch/mips/boot/dts/ralink/mt7621-tplink-hc220-g5-v1.dtb: ethernet@1e100000: resets: [[2, 6], [2, 23]] is too short > From schema: Documentation/devicetree/bindings/net/mediatek,net.yaml > arch/mips/boot/dts/ralink/mt7621-tplink-hc220-g5-v1.dtb: ethernet@1e100000: reset-names:1: 'gmac' was expected > From schema: Documentation/devicetree/bindings/net/mediatek,net.yaml > arch/mips/boot/dts/ralink/mt7621-tplink-hc220-g5-v1.dtb: ethernet@1e100000: reset-names: ['fe', 'eth'] is too short > From schema: Documentation/devicetree/bindings/net/mediatek,net.yaml > arch/mips/boot/dts/ralink/mt7621-tplink-hc220-g5-v1.dtb: ethernet@1e100000: Unevaluated properties are not allowed ('reset-names', 'resets' were unexpected) > From schema: Documentation/devicetree/bindings/net/mediatek,net.yaml > > > 1. Binding mediatek,net.yaml > It says that when present, there must be 3 resets: fe, gmac, ppe > > 2. mt7621.dtsi > It specifies 2 resets: fe, eth > > 3. mt7622.dtsi > It doesn't specify any resets > > 4. mt7629.dtsi > It doesn't specify any resets > > 5. drivers/net/ethernet/mediatek/ > I don't see any reset_control_* code at all > > > Can someone help me what's the actual case with resets? Are they needed? > Are they used? At least for mt7621 bindings have been released after the ethernet driver. The driver uses directly register offset for reset through the system controller syscon [1]. Ideally reset_control APIs should be used since there is already a reset driver for mt7621 [2]. I don't know about the other SoCs. Hope this helps. Best regards, Sergio Paracuellos [1]: https://elixir.bootlin.com/linux/v6.5-rc3/source/drivers/net/ethernet/mediatek/mtk_eth_soc.h#L495 [2]: https://elixir.bootlin.com/linux/v6.5-rc3/source/drivers/clk/ralink/clk-mt7621.c