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 7title: Rockchip RK3036/RK3066/RK3188 Ethernet Media Access Controller (EMAC) 8 9maintainers: 10 - Heiko Stuebner <heiko@sntech.de> 11 12properties: 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 52required: 53 - compatible 54 - reg 55 - interrupts 56 - clocks 57 - clock-names 58 - rockchip,grf 59 - phy 60 - phy-mode 61 - mdio 62 63allOf: 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 87unevaluatedProperties: false 88 89examples: 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 }; 116