Skip to content

Commit

Permalink
dt-bindings: phy: uniphier: Clean up clocks, resets, and their names …
Browse files Browse the repository at this point in the history
…using compatible string

Instead of "oneOf:" choices, use "allOf:" and "if:" to define clocks,
clock-names, resets, and reset-names that can be taken by the compatible
string.

The order of clock-names and reset-names doesn't change here.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/1648637715-19262-6-git-send-email-hayashi.kunihiko@socionext.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
  • Loading branch information
Kunihiko Hayashi authored and Vinod Koul committed Apr 13, 2022
1 parent 45d1f84 commit 09cc358
Show file tree
Hide file tree
Showing 4 changed files with 251 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,33 +30,79 @@ properties:
minItems: 1
maxItems: 2

clock-names:
oneOf:
- items: # for PXs2
- const: link
- items: # for Pro4
- const: link
- const: gio
- items: # for others
- const: link
- const: phy
clock-names: true

resets:
minItems: 2
maxItems: 6

reset-names:
oneOf:
- items: # for Pro4
- const: link
- const: gio
- const: phy
- const: pm
- const: tx
- const: rx
- items: # for others
- const: link
- const: phy
reset-names: true

allOf:
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pro4-ahci-phy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: link
- const: gio
resets:
minItems: 6
maxItems: 6
reset-names:
items:
- const: link
- const: gio
- const: phy
- const: pm
- const: tx
- const: rx
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pxs2-ahci-phy
then:
properties:
clocks:
maxItems: 1
clock-names:
const: link
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pxs3-ahci-phy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: link
- const: phy
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy

required:
- compatible
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,28 +31,51 @@ properties:
minItems: 1
maxItems: 2

clock-names:
oneOf:
- items: # for Pro5
- const: gio
- const: link
- const: link # for others
clock-names: true

resets:
minItems: 1
maxItems: 2

reset-names:
oneOf:
- items: # for Pro5
- const: gio
- const: link
- const: link # for others
reset-names: true

socionext,syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description: A phandle to system control to set configurations for phy

allOf:
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pro5-pcie-phy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: gio
- const: link
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: gio
- const: link
else:
properties:
clocks:
maxItems: 1
clock-names:
const: link
resets:
maxItems: 1
reset-names:
const: link

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,30 +34,12 @@ properties:
minItems: 2
maxItems: 3

clock-names:
oneOf:
- items: # for Pro5
- const: gio
- const: link
- items: # for PXs3 with phy-ext
- const: link
- const: phy
- const: phy-ext
- items: # for others
- const: link
- const: phy
clock-names: true

resets:
maxItems: 2

reset-names:
oneOf:
- items: # for Pro5
- const: gio
- const: link
- items: # for others
- const: link
- const: phy
reset-names: true

vbus-supply:
description: A phandle to the regulator for USB VBUS
Expand All @@ -80,6 +62,77 @@ properties:
required for each port, if any one is omitted, the trimming data
of the port will not be set at all.

allOf:
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pro5-usb3-hsphy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: gio
- const: link
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: gio
- const: link
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pxs2-usb3-hsphy
- socionext,uniphier-ld20-usb3-hsphy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: link
- const: phy
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pxs3-usb3-hsphy
- socionext,uniphier-nx1-usb3-hsphy
then:
properties:
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
items:
- const: link
- const: phy
- const: phy-ext
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,34 +35,89 @@ properties:
minItems: 2
maxItems: 3

clock-names:
oneOf:
- items: # for Pro4, Pro5
- const: gio
- const: link
- items: # for PXs3 with phy-ext
- const: link
- const: phy
- const: phy-ext
- items: # for others
- const: link
- const: phy
clock-names: true

resets:
maxItems: 2

reset-names:
oneOf:
- items: # for Pro4,Pro5
- const: gio
- const: link
- items: # for others
- const: link
- const: phy
reset-names: true

vbus-supply:
description: A phandle to the regulator for USB VBUS, only for USB host

allOf:
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pro4-usb3-ssphy
- socionext,uniphier-pro5-usb3-ssphy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: gio
- const: link
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: gio
- const: link
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pxs2-usb3-ssphy
- socionext,uniphier-ld20-usb3-ssphy
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: link
- const: phy
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pxs3-usb3-ssphy
- socionext,uniphier-nx1-usb3-ssphy
then:
properties:
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
items:
- const: link
- const: phy
- const: phy-ext
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: link
- const: phy

required:
- compatible
- reg
Expand Down

0 comments on commit 09cc358

Please sign in to comment.