actions,owl-emac.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/actions,owl-emac.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Actions Semi Owl SoCs Ethernet MAC Controller
  7. maintainers:
  8. - Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
  9. description: |
  10. This Ethernet MAC is used on the Owl family of SoCs from Actions Semi.
  11. It provides the RMII and SMII interfaces and is compliant with the
  12. IEEE 802.3 CSMA/CD standard, supporting both half-duplex and full-duplex
  13. operation modes at 10/100 Mb/s data transfer rates.
  14. allOf:
  15. - $ref: ethernet-controller.yaml#
  16. properties:
  17. compatible:
  18. oneOf:
  19. - const: actions,owl-emac
  20. - items:
  21. - enum:
  22. - actions,s500-emac
  23. - const: actions,owl-emac
  24. reg:
  25. maxItems: 1
  26. interrupts:
  27. maxItems: 1
  28. clocks:
  29. minItems: 2
  30. maxItems: 2
  31. clock-names:
  32. additionalItems: false
  33. items:
  34. - const: eth
  35. - const: rmii
  36. resets:
  37. maxItems: 1
  38. actions,ethcfg:
  39. $ref: /schemas/types.yaml#/definitions/phandle
  40. description:
  41. Phandle to the device containing custom config.
  42. mdio:
  43. $ref: mdio.yaml#
  44. unevaluatedProperties: false
  45. required:
  46. - compatible
  47. - reg
  48. - interrupts
  49. - clocks
  50. - clock-names
  51. - resets
  52. - phy-mode
  53. - phy-handle
  54. unevaluatedProperties: false
  55. examples:
  56. - |
  57. #include <dt-bindings/clock/actions,s500-cmu.h>
  58. #include <dt-bindings/interrupt-controller/arm-gic.h>
  59. #include <dt-bindings/reset/actions,s500-reset.h>
  60. ethernet@b0310000 {
  61. compatible = "actions,s500-emac", "actions,owl-emac";
  62. reg = <0xb0310000 0x10000>;
  63. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
  64. clocks = <&cmu 59 /*CLK_ETHERNET*/>, <&cmu CLK_RMII_REF>;
  65. clock-names = "eth", "rmii";
  66. resets = <&cmu RESET_ETHERNET>;
  67. phy-mode = "rmii";
  68. phy-handle = <&eth_phy>;
  69. mdio {
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. eth_phy: ethernet-phy@3 {
  73. reg = <0x3>;
  74. interrupt-parent = <&sirq>;
  75. interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
  76. };
  77. };
  78. };