Message ID | 20220331161459.16499-1-jbx6244@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/3] dt-bindings: net: convert emac_rockchip.txt to YAML | expand |
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@gmail.com> > --- > .../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@sntech.de> > + > +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
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@sntech.de> + +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 + + 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 + +allOf: + - $ref: "ethernet-controller.yaml#" + - if: + properties: + compatible: + contains: + const: rockchip,rk3036-emac + + then: + properties: + clocks: + minItems: 3 + + clock-names: + minItems: 3 + + else: + properties: + clocks: + maxItems: 2 + + clock-names: + maxItems: 2 + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/rk3188-cru-common.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + ethernet@10204000 { + compatible = "rockchip,rk3188-emac"; + reg = <0xc0fc2000 0x3c>; + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>; + clock-names = "hclk", "macref"; + rockchip,grf = <&grf>; + pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; + pinctrl-names = "default"; + phy-handle = <&phy0>; + phy-mode = "rmii"; + phy-supply = <&vcc_rmii>; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@0 { + reg = <1>; + }; + }; + };
Convert emac_rockchip.txt to YAML. Changes against original bindings: Add mdio sub node. Signed-off-by: Johan Jonker <jbx6244@gmail.com> --- .../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