Re: [PATCH net] dt-bindings: net: Convert UniPhier AVE4 controller to json-schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 28, 2020 at 03:31:22PM +0900, Kunihiko Hayashi wrote:
> Convert the UniPhier AVE4 controller binding to DT schema format.
> This changes phy-handle property to required.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
> ---
>  .../bindings/net/socionext,uniphier-ave4.txt       |  64 ------------
>  .../bindings/net/socionext,uniphier-ave4.yaml      | 109 +++++++++++++++++++++
>  MAINTAINERS                                        |   2 +-
>  3 files changed, 110 insertions(+), 65 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
>  create mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
> deleted file mode 100644
> index 4e85fc4..0000000
> --- a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -* Socionext AVE ethernet controller
> -
> -This describes the devicetree bindings for AVE ethernet controller
> -implemented on Socionext UniPhier SoCs.
> -
> -Required properties:
> - - compatible: Should be
> -	- "socionext,uniphier-pro4-ave4" : for Pro4 SoC
> -	- "socionext,uniphier-pxs2-ave4" : for PXs2 SoC
> -	- "socionext,uniphier-ld11-ave4" : for LD11 SoC
> -	- "socionext,uniphier-ld20-ave4" : for LD20 SoC
> -	- "socionext,uniphier-pxs3-ave4" : for PXs3 SoC
> - - reg: Address where registers are mapped and size of region.
> - - interrupts: Should contain the MAC interrupt.
> - - phy-mode: See ethernet.txt in the same directory. Allow to choose
> -	"rgmii", "rmii", "mii", or "internal" according to the PHY.
> -	The acceptable mode is SoC-dependent.
> - - phy-handle: Should point to the external phy device.
> -	See ethernet.txt file in the same directory.
> - - clocks: A phandle to the clock for the MAC.
> -	For Pro4 SoC, that is "socionext,uniphier-pro4-ave4",
> -	another MAC clock, GIO bus clock and PHY clock are also required.
> - - clock-names: Should contain
> -	- "ether", "ether-gb", "gio", "ether-phy" for Pro4 SoC
> -	- "ether" for others
> - - resets: A phandle to the reset control for the MAC. For Pro4 SoC,
> -	GIO bus reset is also required.
> - - reset-names: Should contain
> -	- "ether", "gio" for Pro4 SoC
> -	- "ether" for others
> - - socionext,syscon-phy-mode: A phandle to syscon with one argument
> -	that configures phy mode. The argument is the ID of MAC instance.
> -
> -The MAC address will be determined using the optional properties
> -defined in ethernet.txt.
> -
> -Required subnode:
> - - mdio: A container for child nodes representing phy nodes.
> -         See phy.txt in the same directory.
> -
> -Example:
> -
> -	ether: ethernet@65000000 {
> -		compatible = "socionext,uniphier-ld20-ave4";
> -		reg = <0x65000000 0x8500>;
> -		interrupts = <0 66 4>;
> -		phy-mode = "rgmii";
> -		phy-handle = <&ethphy>;
> -		clock-names = "ether";
> -		clocks = <&sys_clk 6>;
> -		reset-names = "ether";
> -		resets = <&sys_rst 6>;
> -		socionext,syscon-phy-mode = <&soc_glue 0>;
> -		local-mac-address = [00 00 00 00 00 00];
> -
> -		mdio {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			ethphy: ethphy@1 {
> -				reg = <1>;
> -			};
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
> new file mode 100644
> index 0000000..fd31e87
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
> @@ -0,0 +1,109 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/socionext,uniphier-ave4.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Socionext AVE ethernet controller
> +
> +maintainers:
> +  - Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
> +
> +description: |
> +  This describes the devicetree bindings for AVE ethernet controller
> +  implemented on Socionext UniPhier SoCs.
> +
> +allOf:
> +  - $ref: ethernet-controller.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - socionext,uniphier-pro4-ave4
> +      - socionext,uniphier-pxs2-ave4
> +      - socionext,uniphier-ld11-ave4
> +      - socionext,uniphier-ld20-ave4
> +      - socionext,uniphier-pxs3-ave4
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  phy-mode:
> +    $ref: ethernet-controller.yaml#/properties/phy-mode
> +
> +  phy-handle:
> +    $ref: ethernet-controller.yaml#/properties/phy-handle

No need for these $ref, the 1st reference did this. Just:

phy-mode: true

> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 4
> +
> +  clock-names:
> +    oneOf:
> +      - items:          # for Pro4
> +        - const: gio
> +        - const: ether
> +        - const: ether-gb
> +        - const: ether-phy
> +      - const: ether    # for others
> +
> +  resets:
> +    minItems: 1
> +    maxItems: 2
> +
> +  reset-names:
> +    oneOf:
> +      - items:          # for Pro4
> +        - const: gio
> +        - const: ether
> +      - const: ether    # for others
> +
> +  socionext,syscon-phy-mode:
> +    $ref: /schemas/types.yaml#definitions/phandle-array
> +    description:
> +      A phandle to syscon with one argument that configures phy mode.
> +      The argument is the ID of MAC instance.
> +
> +  mdio:
> +    $ref: mdio.yaml#
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - phy-mode
> +  - phy-handle
> +  - clocks
> +  - clock-names
> +  - resets
> +  - reset-names
> +  - mdio
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    ether: ethernet@65000000 {
> +        compatible = "socionext,uniphier-ld20-ave4";
> +                reg = <0x65000000 0x8500>;
> +                interrupts = <0 66 4>;
> +                phy-mode = "rgmii";
> +                phy-handle = <&ethphy>;
> +                clock-names = "ether";
> +                clocks = <&sys_clk 6>;
> +                reset-names = "ether";
> +                resets = <&sys_rst 6>;
> +                socionext,syscon-phy-mode = <&soc_glue 0>;
> +
> +                mdio {
> +                        #address-cells = <1>;
> +                        #size-cells = <0>;
> +
> +                        ethphy: ethernet-phy@1 {
> +                                reg = <1>;
> +                        };
> +                };
> +        };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a1558eb..0ee65e2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15590,7 +15590,7 @@ SOCIONEXT (SNI) AVE NETWORK DRIVER
>  M:	Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
>  L:	netdev@xxxxxxxxxxxxxxx
>  S:	Maintained
> -F:	Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
> +F:	Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
>  F:	drivers/net/ethernet/socionext/sni_ave.c
>  
>  SOCIONEXT (SNI) NETSEC NETWORK DRIVER
> -- 
> 2.7.4
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux