| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- # 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>;
- };
- };
- };
|