MediaTek Frame Engine Ethernet: does it need any resets?
Sergio Paracuellos
sergio.paracuellos at gmail.com
Mon Jul 31 08:04:57 PDT 2023
Hi Rafal,
On Sat, Jul 29, 2023 at 1:55 PM Rafał Miłecki <zajec5 at gmail.com> 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 at 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 at 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 at 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 at 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
More information about the linux-arm-kernel
mailing list