Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | # SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/net/rockchip,emac.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 - phy - phy-mode - mdio 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 = <&phy0>; phy-mode = "rmii"; phy-supply = <&vcc_rmii>; mdio { #address-cells = <1>; #size-cells = <0>; phy0: ethernet-phy@0 { reg = <1>; }; }; }; |