Skip to content

Commit

Permalink
dt-bindings: net: convert rockchip-dwmac to json-schema
Browse files Browse the repository at this point in the history
Convert Rockchip dwmac controller dt-bindings to YAML.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ezequiel Garcia authored and David S. Miller committed Apr 26, 2021
1 parent 517a882 commit b331b8e
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 76 deletions.
76 changes: 0 additions & 76 deletions Documentation/devicetree/bindings/net/rockchip-dwmac.txt

This file was deleted.

120 changes: 120 additions & 0 deletions Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: "http://devicetree.org/schemas/net/rockchip-dwmac.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Rockchip 10/100/1000 Ethernet driver(GMAC)

maintainers:
- David Wu <david.wu@rock-chips.com>

# We need a select here so we don't match all nodes with 'snps,dwmac'
select:
properties:
compatible:
contains:
enum:
- rockchip,px30-gmac
- rockchip,rk3128-gmac
- rockchip,rk3228-gmac
- rockchip,rk3288-gmac
- rockchip,rk3328-gmac
- rockchip,rk3366-gmac
- rockchip,rk3368-gmac
- rockchip,rk3399-gmac
- rockchip,rv1108-gmac
required:
- compatible

allOf:
- $ref: "snps,dwmac.yaml#"

properties:
compatible:
items:
- enum:
- rockchip,px30-gmac
- rockchip,rk3128-gmac
- rockchip,rk3228-gmac
- rockchip,rk3288-gmac
- rockchip,rk3328-gmac
- rockchip,rk3366-gmac
- rockchip,rk3368-gmac
- rockchip,rk3399-gmac
- rockchip,rv1108-gmac

clocks:
minItems: 5
maxItems: 8

clock-names:
contains:
enum:
- stmmaceth
- mac_clk_tx
- mac_clk_rx
- aclk_mac
- pclk_mac
- clk_mac_ref
- clk_mac_refout
- clk_mac_speed

clock_in_out:
description:
For RGMII, it must be "input", means main clock(125MHz)
is not sourced from SoC's PLL, but input from PHY.
For RMII, "input" means PHY provides the reference clock(50MHz),
"output" means GMAC provides the reference clock.
$ref: /schemas/types.yaml#/definitions/string
enum: [input, output]

rockchip,grf:
description: The phandle of the syscon node for the general register file.
$ref: /schemas/types.yaml#/definitions/phandle

tx_delay:
description: Delay value for TXD timing. Range value is 0~0x7F, 0x30 as default.
$ref: /schemas/types.yaml#/definitions/uint32

rx_delay:
description: Delay value for RXD timing. Range value is 0~0x7F, 0x10 as default.
$ref: /schemas/types.yaml#/definitions/uint32

phy-supply:
description: PHY regulator

required:
- compatible
- clocks
- clock-names

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/rk3288-cru.h>
gmac: ethernet@ff290000 {
compatible = "rockchip,rk3288-gmac";
reg = <0xff290000 0x10000>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
clocks = <&cru SCLK_MAC>,
<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
clock-names = "stmmaceth",
"mac_clk_rx", "mac_clk_tx",
"clk_mac_ref", "clk_mac_refout",
"aclk_mac", "pclk_mac";
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&ext_gmac>;
rockchip,grf = <&grf>;
phy-mode = "rgmii";
clock_in_out = "input";
tx_delay = <0x30>;
rx_delay = <0x10>;
};

0 comments on commit b331b8e

Please sign in to comment.