On 31/03/2022 18:14, Johan Jonker wrote: > Convert emac_rockchip.txt to YAML. > > Changes against original bindings: > Add mdio sub node. I see you replaced phy phandle with mdio node, but is it supported by the driver? arc_emac_probe() seems to look for "phy". > > Signed-off-by: Johan Jonker <jbx6244@xxxxxxxxx> > --- > .../devicetree/bindings/net/emac_rockchip.txt | 52 -------- > .../bindings/net/emac_rockchip.yaml | 112 ++++++++++++++++++ > 2 files changed, 112 insertions(+), 52 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/net/emac_rockchip.txt > create mode 100644 Documentation/devicetree/bindings/net/emac_rockchip.yaml rockchip,emac.yaml > > diff --git a/Documentation/devicetree/bindings/net/emac_rockchip.txt b/Documentation/devicetree/bindings/net/emac_rockchip.txt > deleted file mode 100644 > index 05bd7dafc..000000000 > --- a/Documentation/devicetree/bindings/net/emac_rockchip.txt > +++ /dev/null > @@ -1,52 +0,0 @@ > -* ARC EMAC 10/100 Ethernet platform driver for Rockchip RK3036/RK3066/RK3188 SoCs > - > -Required properties: > -- compatible: should be "rockchip,<name>-emac" > - "rockchip,rk3036-emac": found on RK3036 SoCs > - "rockchip,rk3066-emac": found on RK3066 SoCs > - "rockchip,rk3188-emac": found on RK3188 SoCs > -- reg: Address and length of the register set for the device > -- interrupts: Should contain the EMAC interrupts > -- rockchip,grf: phandle to the syscon grf used to control speed and mode > - for emac. > -- phy: see ethernet.txt file in the same directory. > -- phy-mode: see ethernet.txt file in the same directory. > - > -Optional properties: > -- phy-supply: phandle to a regulator if the PHY needs one > - > -Clock handling: > -- clocks: Must contain an entry for each entry in clock-names. > -- clock-names: Shall be "hclk" for the host clock needed to calculate and set > - polling period of EMAC and "macref" for the reference clock needed to transfer > - data to and from the phy. > - > -Child nodes of the driver are the individual PHY devices connected to the > -MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. > - > -Examples: > - > -ethernet@10204000 { > - compatible = "rockchip,rk3188-emac"; > - reg = <0xc0fc2000 0x3c>; > - interrupts = <6>; > - mac-address = [ 00 11 22 33 44 55 ]; > - > - clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>; > - clock-names = "hclk", "macref"; > - > - pinctrl-names = "default"; > - pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; > - > - rockchip,grf = <&grf>; > - > - phy = <&phy0>; > - phy-mode = "rmii"; > - phy-supply = <&vcc_rmii>; > - > - #address-cells = <1>; > - #size-cells = <0>; > - phy0: ethernet-phy@0 { > - reg = <1>; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/net/emac_rockchip.yaml b/Documentation/devicetree/bindings/net/emac_rockchip.yaml > new file mode 100644 > index 000000000..03173fa7b > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/emac_rockchip.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/emac_rockchip.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Rockchip RK3036/RK3066/RK3188 Ethernet Media Access Controller (EMAC) > + > +maintainers: > + - Heiko Stuebner <heiko@xxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - rockchip,rk3036-emac > + - rockchip,rk3066-emac > + - rockchip,rk3188-emac > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 2 > + items: > + - description: host clock > + - description: reference clock > + - description: mac TX/RX clock > + > + clock-names: > + minItems: 2 > + items: > + - const: hclk > + - const: macref > + - const: macclk This is also a change, mention it briefly in the commit msg. > + > + rockchip,grf: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + Phandle to the syscon GRF used to control speed and mode for the EMAC. > + > + phy-supply: > + description: > + Phandle to a regulator if the PHY needs one. > + > + mdio: > + $ref: mdio.yaml# > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - rockchip,grf phy-handle and phy-mode. Probably mdio as well? > + > +allOf: > + - $ref: "ethernet-controller.yaml#" Best regards, Krzysztof