1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/rockchi 4 $id: http://devicetree.org/schemas/net/rockchip,emac.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Rockchip RK3036/RK3066/RK3188 Ethernet 7 title: Rockchip RK3036/RK3066/RK3188 Ethernet Media Access Controller (EMAC) 8 8 9 maintainers: 9 maintainers: 10 - Heiko Stuebner <heiko@sntech.de> 10 - Heiko Stuebner <heiko@sntech.de> 11 11 12 properties: 12 properties: 13 compatible: 13 compatible: 14 enum: 14 enum: 15 - rockchip,rk3036-emac 15 - rockchip,rk3036-emac 16 - rockchip,rk3066-emac 16 - rockchip,rk3066-emac 17 - rockchip,rk3188-emac 17 - rockchip,rk3188-emac 18 18 19 reg: 19 reg: 20 maxItems: 1 20 maxItems: 1 21 21 22 interrupts: 22 interrupts: 23 maxItems: 1 23 maxItems: 1 24 24 25 clocks: 25 clocks: 26 minItems: 2 26 minItems: 2 27 items: 27 items: 28 - description: host clock 28 - description: host clock 29 - description: reference clock 29 - description: reference clock 30 - description: mac TX/RX clock 30 - description: mac TX/RX clock 31 31 32 clock-names: 32 clock-names: 33 minItems: 2 33 minItems: 2 34 items: 34 items: 35 - const: hclk 35 - const: hclk 36 - const: macref 36 - const: macref 37 - const: macclk 37 - const: macclk 38 38 39 rockchip,grf: 39 rockchip,grf: 40 $ref: /schemas/types.yaml#/definitions/pha 40 $ref: /schemas/types.yaml#/definitions/phandle 41 description: 41 description: 42 Phandle to the syscon GRF used to contro 42 Phandle to the syscon GRF used to control speed and mode for the EMAC. 43 43 44 phy-supply: 44 phy-supply: 45 description: 45 description: 46 Phandle to a regulator if the PHY needs 46 Phandle to a regulator if the PHY needs one. 47 47 48 mdio: 48 mdio: 49 $ref: mdio.yaml# 49 $ref: mdio.yaml# 50 unevaluatedProperties: false 50 unevaluatedProperties: false 51 51 52 required: 52 required: 53 - compatible 53 - compatible 54 - reg 54 - reg 55 - interrupts 55 - interrupts 56 - clocks 56 - clocks 57 - clock-names 57 - clock-names 58 - rockchip,grf 58 - rockchip,grf 59 - phy 59 - phy 60 - phy-mode 60 - phy-mode 61 - mdio 61 - mdio 62 62 63 allOf: 63 allOf: 64 - $ref: ethernet-controller.yaml# !! 64 - $ref: "ethernet-controller.yaml#" 65 - if: 65 - if: 66 properties: 66 properties: 67 compatible: 67 compatible: 68 contains: 68 contains: 69 const: rockchip,rk3036-emac 69 const: rockchip,rk3036-emac 70 70 71 then: 71 then: 72 properties: 72 properties: 73 clocks: 73 clocks: 74 minItems: 3 74 minItems: 3 75 75 76 clock-names: 76 clock-names: 77 minItems: 3 77 minItems: 3 78 78 79 else: 79 else: 80 properties: 80 properties: 81 clocks: 81 clocks: 82 maxItems: 2 82 maxItems: 2 83 83 84 clock-names: 84 clock-names: 85 maxItems: 2 85 maxItems: 2 86 86 87 unevaluatedProperties: false 87 unevaluatedProperties: false 88 88 89 examples: 89 examples: 90 - | 90 - | 91 #include <dt-bindings/clock/rk3188-cru-com 91 #include <dt-bindings/clock/rk3188-cru-common.h> 92 #include <dt-bindings/interrupt-controller 92 #include <dt-bindings/interrupt-controller/arm-gic.h> 93 93 94 ethernet@10204000 { 94 ethernet@10204000 { 95 compatible = "rockchip,rk3188-emac"; 95 compatible = "rockchip,rk3188-emac"; 96 reg = <0xc0fc2000 0x3c>; 96 reg = <0xc0fc2000 0x3c>; 97 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_ 97 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 98 clocks = <&cru HCLK_EMAC>, <&cru SCLK_MA 98 clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>; 99 clock-names = "hclk", "macref"; 99 clock-names = "hclk", "macref"; 100 rockchip,grf = <&grf>; 100 rockchip,grf = <&grf>; 101 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, 101 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; 102 pinctrl-names = "default"; 102 pinctrl-names = "default"; 103 phy = <&phy0>; 103 phy = <&phy0>; 104 phy-mode = "rmii"; 104 phy-mode = "rmii"; 105 phy-supply = <&vcc_rmii>; 105 phy-supply = <&vcc_rmii>; 106 106 107 mdio { 107 mdio { 108 #address-cells = <1>; 108 #address-cells = <1>; 109 #size-cells = <0>; 109 #size-cells = <0>; 110 110 111 phy0: ethernet-phy@0 { 111 phy0: ethernet-phy@0 { 112 reg = <1>; 112 reg = <1>; 113 }; 113 }; 114 }; 114 }; 115 }; 115 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.