blob: b726c6e146333e750585bf2794cd763d4c5535b1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/micrel,ks8851.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Micrel KS8851 Ethernet MAC (SPI and Parallel bus options)
8
9maintainers:
10 - Marek Vasut <marex@denx.de>
11
12properties:
13 compatible:
14 enum:
15 - micrel,ks8851 # SPI bus option
16 - micrel,ks8851-mll # Parallel bus option
17
18 interrupts:
19 maxItems: 1
20
21 reg:
22 minItems: 1
23 items:
24 - description: SPI or Parallel bus hardware address
25 - description: Parallel bus command mode address
26
27 reset-gpios:
28 maxItems: 1
29 description:
30 The reset_n input pin
31
32 vdd-supply:
33 description: |
34 Analog 3.3V supply for Ethernet MAC
35
36 vdd-io-supply:
37 description: |
38 Digital 1.8V IO supply for Ethernet MAC
39
40required:
41 - compatible
42 - reg
43 - interrupts
44
45allOf:
46 - $ref: ethernet-controller.yaml#
47 - if:
48 properties:
49 compatible:
50 contains:
51 const: micrel,ks8851
52 then:
53 $ref: /schemas/spi/spi-peripheral-props.yaml#
54 properties:
55 reg:
56 maxItems: 1
57 - if:
58 properties:
59 compatible:
60 contains:
61 const: micrel,ks8851-mll
62 then:
63 $ref: /schemas/memory-controllers/mc-peripheral-props.yaml#
64 properties:
65 reg:
66 minItems: 2
67
68unevaluatedProperties: false
69
70examples:
71 - |
72 /* SPI bus option */
73 spi {
74 #address-cells = <1>;
75 #size-cells = <0>;
76 ethernet@0 {
77 compatible = "micrel,ks8851";
78 reg = <0>;
79 interrupt-parent = <&msmgpio>;
80 interrupts = <90 8>;
81 vdd-supply = <&ext_l2>;
82 vdd-io-supply = <&pm8921_lvs6>;
83 reset-gpios = <&msmgpio 89 0>;
84 };
85 };
86 - |
87 #include <dt-bindings/interrupt-controller/irq.h>
88 /* Parallel bus option */
89 memory-controller {
90 #address-cells = <2>;
91 #size-cells = <1>;
92 ethernet@1,0 {
93 compatible = "micrel,ks8851-mll";
94 reg = <1 0x0 0x2>, <1 0x2 0x20000>;
95 interrupt-parent = <&gpioc>;
96 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
97 };
98 };