Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: net: convert emac_rockchip.txt to YAML

Convert emac_rockchip.txt to YAML.

Changes against original bindings:
Add mdio sub node.
Add extra clock for rk3036

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220603163539.537-1-jbx6244@gmail.com

authored by

Johan Jonker and committed by
Rob Herring
5ecd39d1 b600d6a6

+115 -52
-52
Documentation/devicetree/bindings/net/emac_rockchip.txt
··· 1 - * ARC EMAC 10/100 Ethernet platform driver for Rockchip RK3036/RK3066/RK3188 SoCs 2 - 3 - Required properties: 4 - - compatible: should be "rockchip,<name>-emac" 5 - "rockchip,rk3036-emac": found on RK3036 SoCs 6 - "rockchip,rk3066-emac": found on RK3066 SoCs 7 - "rockchip,rk3188-emac": found on RK3188 SoCs 8 - - reg: Address and length of the register set for the device 9 - - interrupts: Should contain the EMAC interrupts 10 - - rockchip,grf: phandle to the syscon grf used to control speed and mode 11 - for emac. 12 - - phy: see ethernet.txt file in the same directory. 13 - - phy-mode: see ethernet.txt file in the same directory. 14 - 15 - Optional properties: 16 - - phy-supply: phandle to a regulator if the PHY needs one 17 - 18 - Clock handling: 19 - - clocks: Must contain an entry for each entry in clock-names. 20 - - clock-names: Shall be "hclk" for the host clock needed to calculate and set 21 - polling period of EMAC and "macref" for the reference clock needed to transfer 22 - data to and from the phy. 23 - 24 - Child nodes of the driver are the individual PHY devices connected to the 25 - MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. 26 - 27 - Examples: 28 - 29 - ethernet@10204000 { 30 - compatible = "rockchip,rk3188-emac"; 31 - reg = <0xc0fc2000 0x3c>; 32 - interrupts = <6>; 33 - mac-address = [ 00 11 22 33 44 55 ]; 34 - 35 - clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>; 36 - clock-names = "hclk", "macref"; 37 - 38 - pinctrl-names = "default"; 39 - pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; 40 - 41 - rockchip,grf = <&grf>; 42 - 43 - phy = <&phy0>; 44 - phy-mode = "rmii"; 45 - phy-supply = <&vcc_rmii>; 46 - 47 - #address-cells = <1>; 48 - #size-cells = <0>; 49 - phy0: ethernet-phy@0 { 50 - reg = <1>; 51 - }; 52 - };
+115
Documentation/devicetree/bindings/net/rockchip,emac.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/rockchip,emac.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Rockchip RK3036/RK3066/RK3188 Ethernet Media Access Controller (EMAC) 8 + 9 + maintainers: 10 + - Heiko Stuebner <heiko@sntech.de> 11 + 12 + properties: 13 + compatible: 14 + enum: 15 + - rockchip,rk3036-emac 16 + - rockchip,rk3066-emac 17 + - rockchip,rk3188-emac 18 + 19 + reg: 20 + maxItems: 1 21 + 22 + interrupts: 23 + maxItems: 1 24 + 25 + clocks: 26 + minItems: 2 27 + items: 28 + - description: host clock 29 + - description: reference clock 30 + - description: mac TX/RX clock 31 + 32 + clock-names: 33 + minItems: 2 34 + items: 35 + - const: hclk 36 + - const: macref 37 + - const: macclk 38 + 39 + rockchip,grf: 40 + $ref: /schemas/types.yaml#/definitions/phandle 41 + description: 42 + Phandle to the syscon GRF used to control speed and mode for the EMAC. 43 + 44 + phy-supply: 45 + description: 46 + Phandle to a regulator if the PHY needs one. 47 + 48 + mdio: 49 + $ref: mdio.yaml# 50 + unevaluatedProperties: false 51 + 52 + required: 53 + - compatible 54 + - reg 55 + - interrupts 56 + - clocks 57 + - clock-names 58 + - rockchip,grf 59 + - phy 60 + - phy-mode 61 + - mdio 62 + 63 + allOf: 64 + - $ref: "ethernet-controller.yaml#" 65 + - if: 66 + properties: 67 + compatible: 68 + contains: 69 + const: rockchip,rk3036-emac 70 + 71 + then: 72 + properties: 73 + clocks: 74 + minItems: 3 75 + 76 + clock-names: 77 + minItems: 3 78 + 79 + else: 80 + properties: 81 + clocks: 82 + maxItems: 2 83 + 84 + clock-names: 85 + maxItems: 2 86 + 87 + unevaluatedProperties: false 88 + 89 + examples: 90 + - | 91 + #include <dt-bindings/clock/rk3188-cru-common.h> 92 + #include <dt-bindings/interrupt-controller/arm-gic.h> 93 + 94 + ethernet@10204000 { 95 + compatible = "rockchip,rk3188-emac"; 96 + reg = <0xc0fc2000 0x3c>; 97 + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 98 + clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>; 99 + clock-names = "hclk", "macref"; 100 + rockchip,grf = <&grf>; 101 + pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; 102 + pinctrl-names = "default"; 103 + phy = <&phy0>; 104 + phy-mode = "rmii"; 105 + phy-supply = <&vcc_rmii>; 106 + 107 + mdio { 108 + #address-cells = <1>; 109 + #size-cells = <0>; 110 + 111 + phy0: ethernet-phy@0 { 112 + reg = <1>; 113 + }; 114 + }; 115 + };