2022-10-10 10:20:08

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 0/6] dt-bindings: usb: covert ci-hdrc-usb2/usbmisc-imx to yaml

From: Peng Fan <[email protected]>

This patchset is to convert ci-hdrc-usb2 and usbmisc-imx to yaml format.
There are compatible strings not landed in binding doc, but in device tree,
so run dtbs_check on the single yaml convertion patch will report
dtbs_check failure. If apply the whole patchset, there will be no failure.

I put Greg as maintainer of the yaml file, because I not sure who should
be put there.

Peng Fan (6):
dt-bindings: usb: ci-hdrc-usb2: convert to yaml
dt-bindings: usb: ci-hdrc-usb2: add i.MX53/6SLL/UL compatible
dt-bindings: usb: ci-hdrc-usb2: add i.MX8DXL/M[M,N] support
dt-bindings: usb: usbmisc-imx: convert to yaml
dt-bindings: usb: usbmisc-imx: add clocks property
dt-bindings: usb: usbmisc-imx: add more i.MX compatible

.../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
.../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 322 ++++++++++++++++++
.../devicetree/bindings/usb/usbmisc-imx.txt | 18 -
.../devicetree/bindings/usb/usbmisc-imx.yaml | 67 ++++
4 files changed, 389 insertions(+), 176 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
create mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
delete mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
create mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.yaml

--
2.37.1


2022-10-10 10:20:09

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

From: Peng Fan <[email protected]>

Convert the binding to yaml format

Signed-off-by: Peng Fan <[email protected]>
---
.../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
.../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
2 files changed, 306 insertions(+), 158 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
create mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml

diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
deleted file mode 100644
index ba51fb1252b9..000000000000
--- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
+++ /dev/null
@@ -1,158 +0,0 @@
-* USB2 ChipIdea USB controller for ci13xxx
-
-Required properties:
-- compatible: should be one of:
- "fsl,imx23-usb"
- "fsl,imx27-usb"
- "fsl,imx28-usb"
- "fsl,imx6q-usb"
- "fsl,imx6sl-usb"
- "fsl,imx6sx-usb"
- "fsl,imx6ul-usb"
- "fsl,imx7d-usb"
- "fsl,imx7ulp-usb"
- "lsi,zevio-usb"
- "qcom,ci-hdrc"
- "chipidea,usb2"
- "xlnx,zynq-usb-2.20a"
- "nvidia,tegra20-udc"
- "nvidia,tegra30-udc"
- "nvidia,tegra114-udc"
- "nvidia,tegra124-udc"
-- reg: base address and length of the registers
-- interrupts: interrupt for the USB controller
-
-Recommended properies:
-- phy_type: the type of the phy connected to the core. Should be one
- of "utmi", "utmi_wide", "ulpi", "serial" or "hsic". Without this
- property the PORTSC register won't be touched.
-- dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg"
-
-Deprecated properties:
-- usb-phy: phandle for the PHY device. Use "phys" instead.
-- fsl,usbphy: phandle of usb phy that connects to the port. Use "phys" instead.
-
-Optional properties:
-- clocks: reference to the USB clock
-- phys: reference to the USB PHY
-- phy-names: should be "usb-phy"
-- vbus-supply: reference to the VBUS regulator
-- maximum-speed: limit the maximum connection speed to "full-speed".
-- tpl-support: TPL (Targeted Peripheral List) feature for targeted hosts
-- itc-setting: interrupt threshold control register control, the setting
- should be aligned with ITC bits at register USBCMD.
-- ahb-burst-config: it is vendor dependent, the required value should be
- aligned with AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This
- property is used to change AHB burst configuration, check the chipidea
- spec for meaning of each value. If this property is not existed, it
- will use the reset value.
-- tx-burst-size-dword: it is vendor dependent, the tx burst size in dword
- (4 bytes), This register represents the maximum length of a the burst
- in 32-bit words while moving data from system memory to the USB
- bus, the value of this property will only take effect if property
- "ahb-burst-config" is set to 0, if this property is missing the reset
- default of the hardware implementation will be used.
-- rx-burst-size-dword: it is vendor dependent, the rx burst size in dword
- (4 bytes), This register represents the maximum length of a the burst
- in 32-bit words while moving data from the USB bus to system memory,
- the value of this property will only take effect if property
- "ahb-burst-config" is set to 0, if this property is missing the reset
- default of the hardware implementation will be used.
-- extcon: phandles to external connector devices. First phandle should point to
- external connector, which provide "USB" cable events, the second should point
- to external connector device, which provide "USB-HOST" cable events. If one
- of the external connector devices is not required, empty <0> phandle should
- be specified.
-- phy-clkgate-delay-us: the delay time (us) between putting the PHY into
- low power mode and gating the PHY clock.
-- non-zero-ttctrl-ttha: after setting this property, the value of register
- ttctrl.ttha will be 0x7f; if not, the value will be 0x0, this is the default
- value. It needs to be very carefully for setting this property, it is
- recommended that consult with your IC engineer before setting this value.
- On the most of chipidea platforms, the "usage_tt" flag at RTL is 0, so this
- property only affects siTD.
- If this property is not set, the max packet size is 1023 bytes, and if
- the total of packet size for pervious transactions are more than 256 bytes,
- it can't accept any transactions within this frame. The use case is single
- transaction, but higher frame rate.
- If this property is set, the max packet size is 188 bytes, it can handle
- more transactions than above case, it can accept transactions until it
- considers the left room size within frame is less than 188 bytes, software
- needs to make sure it does not send more than 90%
- maximum_periodic_data_per_frame. The use case is multiple transactions, but
- less frame rate.
-- mux-controls: The mux control for toggling host/device output of this
- controller. It's expected that a mux state of 0 indicates device mode and a
- mux state of 1 indicates host mode.
-- mux-control-names: Shall be "usb_switch" if mux-controls is specified.
-- pinctrl-names: Names for optional pin modes in "default", "host", "device".
- In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this
- case, the "idle" state needs to pull down the data and strobe pin
- and the "active" state needs to pull up the strobe pin.
-- pinctrl-n: alternate pin modes
-
-i.mx specific properties
-- fsl,usbmisc: phandler of non-core register device, with one
- argument that indicate usb controller index
-- disable-over-current: disable over current detect
-- over-current-active-low: over current signal polarity is active low.
-- over-current-active-high: over current signal polarity is active high.
- It's recommended to specify the over current polarity.
-- power-active-high: power signal polarity is active high
-- external-vbus-divider: enables off-chip resistor divider for Vbus
-- samsung,picophy-pre-emp-curr-control: HS Transmitter Pre-Emphasis Current
- Control. This signal controls the amount of current sourced to the
- USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition.
- The range is from 0x0 to 0x3, the default value is 0x1.
- Details can refer to TXPREEMPAMPTUNE0 bits of USBNC_n_PHY_CFG1.
-- samsung,picophy-dc-vol-level-adjust: HS DC Voltage Level Adjustment.
- Adjust the high-speed transmitter DC level voltage.
- The range is from 0x0 to 0xf, the default value is 0x3.
- Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
-
-Example:
-
- usb@f7ed0000 {
- compatible = "chipidea,usb2";
- reg = <0xf7ed0000 0x10000>;
- interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&chip CLKID_USB0>;
- phys = <&usb_phy0>;
- phy-names = "usb-phy";
- vbus-supply = <&reg_usb0_vbus>;
- itc-setting = <0x4>; /* 4 micro-frames */
- /* Incremental burst of unspecified length */
- ahb-burst-config = <0x0>;
- tx-burst-size-dword = <0x10>; /* 64 bytes */
- rx-burst-size-dword = <0x10>;
- extcon = <0>, <&usb_id>;
- phy-clkgate-delay-us = <400>;
- mux-controls = <&usb_switch>;
- mux-control-names = "usb_switch";
- };
-
-Example for HSIC:
-
- usb@2184400 {
- compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
- reg = <0x02184400 0x200>;
- interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clks IMX6QDL_CLK_USBOH3>;
- fsl,usbphy = <&usbphynop1>;
- fsl,usbmisc = <&usbmisc 2>;
- phy_type = "hsic";
- dr_mode = "host";
- ahb-burst-config = <0x0>;
- tx-burst-size-dword = <0x10>;
- rx-burst-size-dword = <0x10>;
- pinctrl-names = "idle", "active";
- pinctrl-0 = <&pinctrl_usbh2_idle>;
- pinctrl-1 = <&pinctrl_usbh2_active>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- usbnet: ethernet@1 {
- compatible = "usb424,9730";
- reg = <1>;
- };
- };
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
new file mode 100644
index 000000000000..1c10691c45f2
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
@@ -0,0 +1,306 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: USB2 ChipIdea USB controller for ci13xxx Binding
+
+maintainers:
+ - Greg Kroah-Hartman <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - chipidea,usb2
+ - lsi,zevio-usb
+ - nvidia,tegra20-udc
+ - nvidia,tegra30-udc
+ - nvidia,tegra114-udc
+ - nvidia,tegra124-udc
+ - qcom,ci-hdrc
+ - items:
+ - enum:
+ - fsl,imx23-usb
+ - fsl,imx25-usb
+ - fsl,imx28-usb
+ - fsl,imx6q-usb
+ - fsl,imx6sl-usb
+ - fsl,imx6sx-usb
+ - fsl,imx6ul-usb
+ - fsl,imx7d-usb
+ - const: fsl,imx27-usb
+ - items:
+ - const: fsl,imx7ulp-usb
+ - const: fsl,imx6ul-usb
+ - items:
+ - const: lsi,zevio-usb
+ - items:
+ - const: xlnx,zynq-usb-2.20a
+ - const: chipidea,usb2
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 2
+
+ itc-setting:
+ description:
+ interrupt threshold control register control, the setting should be
+ aligned with ITC bits at register USBCMD.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ ahb-burst-config:
+ description:
+ it is vendor dependent, the required value should be aligned with
+ AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
+ used to change AHB burst configuration, check the chipidea spec for
+ meaning of each value. If this property is not existed, it will use
+ the reset value.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0x0
+ maximum: 0x7
+
+ tx-burst-size-dword:
+ description:
+ it is vendor dependent, the tx burst size in dword (4 bytes), This
+ register represents the maximum length of a the burst in 32-bit
+ words while moving data from system memory to the USB bus, the value
+ of this property will only take effect if property "ahb-burst-config"
+ is set to 0, if this property is missing the reset default of the
+ hardware implementation will be used.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ rx-burst-size-dword:
+ description:
+ it is vendor dependent, the rx burst size in dword (4 bytes), This
+ register represents the maximum length of a the burst in 32-bit words
+ while moving data from the USB bus to system memory, the value of
+ this property will only take effect if property "ahb-burst-config"
+ is set to 0, if this property is missing the reset default of the
+ hardware implementation will be used.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ extcon:
+ description: |
+ Phandles to external connector devices. First phandle should point
+ to external connector, which provide "USB" cable events, the second
+ should point to external connector device, which provide "USB-HOST"
+ cable events. If one of the external connector devices is not
+ required, empty <0> phandle should be specified.
+
+ phy-clkgate-delay-us:
+ description: |
+ The delay time (us) between putting the PHY into low power mode and
+ gating the PHY clock.
+
+ non-zero-ttctrl-ttha:
+ description: |
+ After setting this property, the value of register ttctrl.ttha
+ will be 0x7f; if not, the value will be 0x0, this is the default
+ value. It needs to be very carefully for setting this property, it
+ is recommended that consult with your IC engineer before setting
+ this value. On the most of chipidea platforms, the "usage_tt" flag
+ at RTL is 0, so this property only affects siTD.
+
+ If this property is not set, the max packet size is 1023 bytes, and
+ if the total of packet size for pervious transactions are more than
+ 256 bytes, it can't accept any transactions within this frame. The
+ use case is single transaction, but higher frame rate.
+
+ If this property is set, the max packet size is 188 bytes, it can
+ handle more transactions than above case, it can accept transactions
+ until it considers the left room size within frame is less than 188
+ bytes, software needs to make sure it does not send more than 90%
+ maximum_periodic_data_per_frame. The use case is multiple
+ transactions, but less frame rate.
+
+ mux-controls:
+ description: |
+ The mux control for toggling host/device output of this controller.
+ It's expected that a mux state of 0 indicates device mode and a mux
+ state of 1 indicates host mode.
+
+ mux-control-names:
+ description: Shall be "usb_switch" if mux-controls is specified.
+
+ pinctrl-names:
+ description: |
+ Names for optional pin modes in "default", "host", "device".
+ In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
+ In this case, the "idle" state needs to pull down the data and
+ strobe pin and the "active" state needs to pull up the strobe pin.
+
+ pinctrl-0:
+ maxItems: 1
+
+ pinctrl-1:
+ maxItems: 1
+
+ phys:
+ maxItems: 1
+
+ phy-names:
+ const: usb-phy
+
+ vbus-supply:
+ description: reference to the VBUS regulator.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+allOf:
+ - $ref: usb-drd.yaml#
+ - $ref: usb-hcd.yaml#
+ - if:
+ properties:
+ mux-controls:
+ true
+ then:
+ properties:
+ mux-control-names:
+ const: usb_switch
+ - if:
+ properties:
+ phy_type:
+ const: hsic
+
+ required:
+ - phy_type
+ then:
+ properties:
+ pinctrl-names:
+ items:
+ - const: idle
+ - const: active
+ else:
+ properties:
+ pinctrl-names:
+ oneOf:
+ - items:
+ - const: default
+ - enum:
+ - host
+ - device
+ - items:
+ - const: default
+ - if:
+ properties:
+ compatible:
+ enum:
+ - fsl,imx23-usb
+ - fsl,imx25-usb
+ - fsl,imx27-usb
+ - fsl,imx28-usb
+ - fsl,imx6q-usb
+ - fsl,imx6sl-usb
+ - fsl,imx6sx-usb
+ - fsl,imx6ul-usb
+ - fsl,imx7d-usb
+ - fsl,imx7ulp-usb
+ then:
+ properties:
+ fsl,usbmisc:
+ description:
+ Phandler of non-core register device, with one argument that
+ indicate usb controller index
+
+ disable-over-current:
+ description: disable over current detect
+
+ over-current-active-low:
+ description: over current signal polarity is active low
+
+ over-current-active-high:
+ description: |
+ Over current signal polarity is active high. It's recommended to
+ specify the over current polarity.
+
+ power-active-high:
+ description: power signal polarity is active high
+
+ external-vbus-divider:
+ description: enables off-chip resistor divider for Vbus
+
+ samsung,picophy-pre-emp-curr-control:
+ description: |
+ HS Transmitter Pre-Emphasis Current Control. This signal controls
+ the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN
+ pins after a J-to-K or K-to-J transition. The range is from 0x0 to
+ 0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0
+ bits of USBNC_n_PHY_CFG1.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0x0
+ maximum: 0x3
+
+ samsung,picophy-dc-vol-level-adjust:
+ description: |
+ HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC
+ level voltage. The range is from 0x0 to 0xf, the default value is
+ 0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0x0
+ maximum: 0xf
+
+additionalProperties: true
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/berlin2.h>
+
+ usb@f7ed0000 {
+ compatible = "chipidea,usb2";
+ reg = <0xf7ed0000 0x10000>;
+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&chip CLKID_USB0>;
+ phys = <&usb_phy0>;
+ phy-names = "usb-phy";
+ vbus-supply = <&reg_usb0_vbus>;
+ itc-setting = <0x4>; /* 4 micro-frames */
+ /* Incremental burst of unspecified length */
+ ahb-burst-config = <0x0>;
+ tx-burst-size-dword = <0x10>; /* 64 bytes */
+ rx-burst-size-dword = <0x10>;
+ extcon = <0>, <&usb_id>;
+ phy-clkgate-delay-us = <400>;
+ mux-controls = <&usb_switch>;
+ mux-control-names = "usb_switch";
+ };
+
+ # Example for HSIC:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/imx6qdl-clock.h>
+
+ usb@2184400 {
+ compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
+ reg = <0x02184400 0x200>;
+ interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clks IMX6QDL_CLK_USBOH3>;
+ fsl,usbphy = <&usbphynop1>;
+ fsl,usbmisc = <&usbmisc 2>;
+ phy_type = "hsic";
+ dr_mode = "host";
+ ahb-burst-config = <0x0>;
+ tx-burst-size-dword = <0x10>;
+ rx-burst-size-dword = <0x10>;
+ pinctrl-names = "idle", "active";
+ pinctrl-0 = <&pinctrl_usbh2_idle>;
+ pinctrl-1 = <&pinctrl_usbh2_active>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usbnet: ethernet@1 {
+ compatible = "usb424,9730";
+ reg = <1>;
+ };
+ };
+
+...
--
2.37.1

2022-10-10 10:32:07

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 5/6] dt-bindings: usb: usbmisc-imx: add clocks property

From: Peng Fan <[email protected]>

Add optional clocks property

Signed-off-by: Peng Fan <[email protected]>
---
Documentation/devicetree/bindings/usb/usbmisc-imx.yaml | 3 +++
1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
index c0741ce9b523..bd2d3d95f5a6 100644
--- a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
+++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
@@ -27,6 +27,9 @@ properties:
- fsl,imx7ulp-usbmisc
- const: fsl,imx7d-usbmisc

+ clocks:
+ maxItems: 1
+
reg:
maxItems: 1

--
2.37.1

2022-10-10 10:38:02

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 2/6] dt-bindings: usb: ci-hdrc-usb2: add i.MX53/6SLL/UL compatible

From: Peng Fan <[email protected]>

Add i.MX53, i.MX6SLL, i.MX6UL compatible

Signed-off-by: Peng Fan <[email protected]>
---
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
index 1c10691c45f2..575084ccd6b8 100644
--- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
@@ -25,15 +25,23 @@ properties:
- fsl,imx23-usb
- fsl,imx25-usb
- fsl,imx28-usb
+ - fsl,imx50-usb
+ - fsl,imx51-usb
+ - fsl,imx53-usb
- fsl,imx6q-usb
- fsl,imx6sl-usb
- fsl,imx6sx-usb
- fsl,imx6ul-usb
- fsl,imx7d-usb
+ - fsl,vf610-usb
- const: fsl,imx27-usb
- items:
- const: fsl,imx7ulp-usb
- const: fsl,imx6ul-usb
+ - items:
+ - const: fsl,imx6sll-usb
+ - const: fsl,imx6ul-usb
+ - const: fsl,imx27-usb
- items:
- const: lsi,zevio-usb
- items:
--
2.37.1

2022-10-10 10:53:37

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 3/6] dt-bindings: usb: ci-hdrc-usb2: add i.MX8DXL/M[M,N] support

From: Peng Fan <[email protected]>

Add i.MX8MM/N compatible strings, which are compatible with i.MX7D.
Add i.MX8DXL compatible string, which is compatible with i.MX7ULP.

Signed-off-by: Peng Fan <[email protected]>
---
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
index 575084ccd6b8..11d08ffeb1e9 100644
--- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
@@ -35,6 +35,14 @@ properties:
- fsl,imx7d-usb
- fsl,vf610-usb
- const: fsl,imx27-usb
+ - items:
+ - const: fsl,imx8dxl-usb
+ - const: fsl,imx7ulp-usb
+ - items:
+ - enum:
+ - fsl,imx8mm-usb
+ - fsl,imx8mn-usb
+ - const: fsl,imx7d-usb
- items:
- const: fsl,imx7ulp-usb
- const: fsl,imx6ul-usb
--
2.37.1

2022-10-10 11:21:05

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

From: Peng Fan <[email protected]>

Convert usbmisc-imx to yaml format.

Signed-off-by: Peng Fan <[email protected]>
---
.../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
.../devicetree/bindings/usb/usbmisc-imx.yaml | 52 +++++++++++++++++++
2 files changed, 52 insertions(+), 18 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
create mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.yaml

diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
deleted file mode 100644
index b796836d2ce7..000000000000
--- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-* Freescale i.MX non-core registers
-
-Required properties:
-- #index-cells: Cells used to describe usb controller index. Should be <1>
-- compatible: Should be one of below:
- "fsl,imx6q-usbmisc" for imx6q
- "fsl,vf610-usbmisc" for Vybrid vf610
- "fsl,imx6sx-usbmisc" for imx6sx
- "fsl,imx7d-usbmisc" for imx7d
- "fsl,imx7ulp-usbmisc" for imx7ulp
-- reg: Should contain registers location and length
-
-Examples:
-usbmisc@2184800 {
- #index-cells = <1>;
- compatible = "fsl,imx6q-usbmisc";
- reg = <0x02184800 0x200>;
-};
diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
new file mode 100644
index 000000000000..c0741ce9b523
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/usbmisc-imx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX non-core registers
+
+maintainers:
+ - Greg Kroah-Hartman <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - fsl,imx6q-usbmisc
+ - fsl,imx7ulp-usbmisc
+ - fsl,vf610-usbmisc
+ - items:
+ - enum:
+ - fsl,imx6ul-usbmisc
+ - fsl,imx6sx-usbmisc
+ - fsl,imx7d-usbmisc
+ - const: fsl,imx6q-usbmisc
+ - items:
+ - enum:
+ - fsl,imx7ulp-usbmisc
+ - const: fsl,imx7d-usbmisc
+
+ reg:
+ maxItems: 1
+
+ '#index-cells':
+ const: 1
+ description: Cells used to describe usb controller index. Should be <1>
+
+required:
+ - compatible
+ - reg
+ - '#index-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ usbmisc@2184800 {
+ #index-cells = <1>;
+ compatible = "fsl,imx6q-usbmisc";
+ reg = <0x02184800 0x200>;
+ };
+
+...
--
2.37.1

2022-10-10 11:21:40

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 6/6] dt-bindings: usb: usbmisc-imx: add more i.MX compatible

From: Peng Fan <[email protected]>

Add more i.MX chips support

Signed-off-by: Peng Fan <[email protected]>
---
.../devicetree/bindings/usb/usbmisc-imx.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
index bd2d3d95f5a6..943ccf6154da 100644
--- a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
+++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
@@ -13,19 +13,31 @@ properties:
compatible:
oneOf:
- enum:
+ - fsl,imx25-usbmisc
+ - fsl,imx27-usbmisc
+ - fsl,imx35-usbmisc
+ - fsl,imx51-usbmisc
+ - fsl,imx53-usbmisc
- fsl,imx6q-usbmisc
- fsl,imx7ulp-usbmisc
- fsl,vf610-usbmisc
- items:
- enum:
- fsl,imx6ul-usbmisc
+ - fsl,imx6sl-usbmisc
- fsl,imx6sx-usbmisc
- fsl,imx7d-usbmisc
- const: fsl,imx6q-usbmisc
- items:
- enum:
- fsl,imx7ulp-usbmisc
+ - fsl,imx8mm-usbmisc
+ - fsl,imx8mn-usbmisc
- const: fsl,imx7d-usbmisc
+ - items:
+ - const: fsl,imx6sll-usbmisc
+ - const: fsl,imx6ul-usbmisc
+ - const: fsl,imx6q-usbmisc

clocks:
maxItems: 1
--
2.37.1

2022-10-10 12:22:04

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

On Mon, 10 Oct 2022 18:18:11 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert the binding to yaml format
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
> .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
> 2 files changed, 306 insertions(+), 158 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> create mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.example.dtb: usb@f7ed0000: clocks: [[4294967295, 29]] is too short
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.example.dtb: usb@2184400: clocks: [[4294967295, 162]] is too short
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.

2022-10-10 12:24:04

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

On Mon, Oct 10, 2022 at 06:18:11PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert the binding to yaml format

s/yaml/DT schema/

>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
> .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
> 2 files changed, 306 insertions(+), 158 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> create mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml

> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> new file mode 100644
> index 000000000000..1c10691c45f2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> @@ -0,0 +1,306 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: USB2 ChipIdea USB controller for ci13xxx Binding
> +
> +maintainers:
> + - Greg Kroah-Hartman <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - enum:
> + - chipidea,usb2
> + - lsi,zevio-usb
> + - nvidia,tegra20-udc
> + - nvidia,tegra30-udc
> + - nvidia,tegra114-udc
> + - nvidia,tegra124-udc
> + - qcom,ci-hdrc
> + - items:
> + - enum:
> + - fsl,imx23-usb
> + - fsl,imx25-usb
> + - fsl,imx28-usb
> + - fsl,imx6q-usb
> + - fsl,imx6sl-usb
> + - fsl,imx6sx-usb
> + - fsl,imx6ul-usb
> + - fsl,imx7d-usb
> + - const: fsl,imx27-usb
> + - items:
> + - const: fsl,imx7ulp-usb
> + - const: fsl,imx6ul-usb
> + - items:
> + - const: lsi,zevio-usb
> + - items:
> + - const: xlnx,zynq-usb-2.20a
> + - const: chipidea,usb2
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 2
> +
> + itc-setting:
> + description:
> + interrupt threshold control register control, the setting should be
> + aligned with ITC bits at register USBCMD.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + ahb-burst-config:
> + description:
> + it is vendor dependent, the required value should be aligned with
> + AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
> + used to change AHB burst configuration, check the chipidea spec for
> + meaning of each value. If this property is not existed, it will use
> + the reset value.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0x0
> + maximum: 0x7
> +
> + tx-burst-size-dword:
> + description:
> + it is vendor dependent, the tx burst size in dword (4 bytes), This
> + register represents the maximum length of a the burst in 32-bit
> + words while moving data from system memory to the USB bus, the value
> + of this property will only take effect if property "ahb-burst-config"
> + is set to 0, if this property is missing the reset default of the
> + hardware implementation will be used.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + rx-burst-size-dword:
> + description:
> + it is vendor dependent, the rx burst size in dword (4 bytes), This
> + register represents the maximum length of a the burst in 32-bit words
> + while moving data from the USB bus to system memory, the value of
> + this property will only take effect if property "ahb-burst-config"
> + is set to 0, if this property is missing the reset default of the
> + hardware implementation will be used.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + extcon:
> + description: |
> + Phandles to external connector devices. First phandle should point
> + to external connector, which provide "USB" cable events, the second
> + should point to external connector device, which provide "USB-HOST"
> + cable events. If one of the external connector devices is not
> + required, empty <0> phandle should be specified.
> +
> + phy-clkgate-delay-us:
> + description: |
> + The delay time (us) between putting the PHY into low power mode and
> + gating the PHY clock.
> +
> + non-zero-ttctrl-ttha:
> + description: |
> + After setting this property, the value of register ttctrl.ttha
> + will be 0x7f; if not, the value will be 0x0, this is the default
> + value. It needs to be very carefully for setting this property, it
> + is recommended that consult with your IC engineer before setting
> + this value. On the most of chipidea platforms, the "usage_tt" flag
> + at RTL is 0, so this property only affects siTD.
> +
> + If this property is not set, the max packet size is 1023 bytes, and
> + if the total of packet size for pervious transactions are more than
> + 256 bytes, it can't accept any transactions within this frame. The
> + use case is single transaction, but higher frame rate.
> +
> + If this property is set, the max packet size is 188 bytes, it can
> + handle more transactions than above case, it can accept transactions
> + until it considers the left room size within frame is less than 188
> + bytes, software needs to make sure it does not send more than 90%
> + maximum_periodic_data_per_frame. The use case is multiple
> + transactions, but less frame rate.
> +
> + mux-controls:
> + description: |
> + The mux control for toggling host/device output of this controller.
> + It's expected that a mux state of 0 indicates device mode and a mux
> + state of 1 indicates host mode.
> +
> + mux-control-names:
> + description: Shall be "usb_switch" if mux-controls is specified.
> +
> + pinctrl-names:
> + description: |
> + Names for optional pin modes in "default", "host", "device".
> + In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
> + In this case, the "idle" state needs to pull down the data and
> + strobe pin and the "active" state needs to pull up the strobe pin.
> +
> + pinctrl-0:
> + maxItems: 1
> +
> + pinctrl-1:
> + maxItems: 1
> +
> + phys:
> + maxItems: 1
> +
> + phy-names:
> + const: usb-phy
> +
> + vbus-supply:
> + description: reference to the VBUS regulator.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +allOf:
> + - $ref: usb-drd.yaml#
> + - $ref: usb-hcd.yaml#
> + - if:
> + properties:
> + mux-controls:
> + true
> + then:
> + properties:
> + mux-control-names:
> + const: usb_switch
> + - if:
> + properties:
> + phy_type:
> + const: hsic
> +
> + required:
> + - phy_type
> + then:
> + properties:
> + pinctrl-names:
> + items:
> + - const: idle
> + - const: active
> + else:
> + properties:
> + pinctrl-names:
> + oneOf:
> + - items:
> + - const: default
> + - enum:
> + - host
> + - device
> + - items:
> + - const: default
> + - if:
> + properties:
> + compatible:
> + enum:
> + - fsl,imx23-usb
> + - fsl,imx25-usb
> + - fsl,imx27-usb
> + - fsl,imx28-usb
> + - fsl,imx6q-usb
> + - fsl,imx6sl-usb
> + - fsl,imx6sx-usb
> + - fsl,imx6ul-usb
> + - fsl,imx7d-usb
> + - fsl,imx7ulp-usb
> + then:
> + properties:
> + fsl,usbmisc:
> + description:
> + Phandler of non-core register device, with one argument that
> + indicate usb controller index

type ref?

Don't define properties within if/then/else. Define at top level and
then restrict presence in the if/then schema.

> +
> + disable-over-current:
> + description: disable over current detect
> +
> + over-current-active-low:
> + description: over current signal polarity is active low
> +
> + over-current-active-high:
> + description: |
> + Over current signal polarity is active high. It's recommended to
> + specify the over current polarity.
> +
> + power-active-high:
> + description: power signal polarity is active high
> +
> + external-vbus-divider:
> + description: enables off-chip resistor divider for Vbus
> +
> + samsung,picophy-pre-emp-curr-control:
> + description: |
> + HS Transmitter Pre-Emphasis Current Control. This signal controls
> + the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN
> + pins after a J-to-K or K-to-J transition. The range is from 0x0 to
> + 0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0
> + bits of USBNC_n_PHY_CFG1.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0x0
> + maximum: 0x3
> +
> + samsung,picophy-dc-vol-level-adjust:
> + description: |
> + HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC
> + level voltage. The range is from 0x0 to 0xf, the default value is
> + 0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0x0
> + maximum: 0xf
> +
> +additionalProperties: true

Cannot be true.

> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/berlin2.h>
> +
> + usb@f7ed0000 {
> + compatible = "chipidea,usb2";

Doesn't match documentation. You should know by now to test your
bindings.

> + reg = <0xf7ed0000 0x10000>;
> + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&chip CLKID_USB0>;
> + phys = <&usb_phy0>;
> + phy-names = "usb-phy";
> + vbus-supply = <&reg_usb0_vbus>;
> + itc-setting = <0x4>; /* 4 micro-frames */
> + /* Incremental burst of unspecified length */
> + ahb-burst-config = <0x0>;
> + tx-burst-size-dword = <0x10>; /* 64 bytes */
> + rx-burst-size-dword = <0x10>;
> + extcon = <0>, <&usb_id>;
> + phy-clkgate-delay-us = <400>;
> + mux-controls = <&usb_switch>;
> + mux-control-names = "usb_switch";
> + };
> +
> + # Example for HSIC:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/imx6qdl-clock.h>
> +
> + usb@2184400 {
> + compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
> + reg = <0x02184400 0x200>;
> + interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clks IMX6QDL_CLK_USBOH3>;
> + fsl,usbphy = <&usbphynop1>;
> + fsl,usbmisc = <&usbmisc 2>;
> + phy_type = "hsic";
> + dr_mode = "host";
> + ahb-burst-config = <0x0>;
> + tx-burst-size-dword = <0x10>;
> + rx-burst-size-dword = <0x10>;
> + pinctrl-names = "idle", "active";
> + pinctrl-0 = <&pinctrl_usbh2_idle>;
> + pinctrl-1 = <&pinctrl_usbh2_active>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + usbnet: ethernet@1 {
> + compatible = "usb424,9730";
> + reg = <1>;
> + };
> + };
> +
> +...
> --
> 2.37.1
>
>

2022-10-10 12:55:14

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 5/6] dt-bindings: usb: usbmisc-imx: add clocks property

On Mon, 10 Oct 2022 18:18:15 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Add optional clocks property
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> Documentation/devicetree/bindings/usb/usbmisc-imx.yaml | 3 +++
> 1 file changed, 3 insertions(+)
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


usbmisc@2184800: compatible: 'oneOf' conditional failed, one must be fixed:
arch/arm/boot/dts/imx6sl-evk.dtb
arch/arm/boot/dts/imx6sll-evk.dtb
arch/arm/boot/dts/imx6sll-kobo-clarahd.dtb
arch/arm/boot/dts/imx6sll-kobo-librah2o.dtb
arch/arm/boot/dts/imx6sl-tolino-shine2hd.dtb
arch/arm/boot/dts/imx6sl-tolino-shine3.dtb
arch/arm/boot/dts/imx6sl-tolino-vision5.dtb
arch/arm/boot/dts/imx6sl-warp.dtb

usbmisc@32e40200: compatible: 'oneOf' conditional failed, one must be fixed:
arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dtb
arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dtb
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dtb
arch/arm64/boot/dts/freescale/imx8mm-emcon-avari.dtb
arch/arm64/boot/dts/freescale/imx8mm-evk.dtb
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dtb
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dtb
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dtb
arch/arm64/boot/dts/freescale/imx8mm-mx8menlo.dtb
arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dtb
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-rdk.dtb
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7903.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dahlia.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dev.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dahlia.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dev.dtb
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb

usbmisc@32e50200: compatible: 'oneOf' conditional failed, one must be fixed:
arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dtb
arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dtb
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dtb
arch/arm64/boot/dts/freescale/imx8mm-emcon-avari.dtb
arch/arm64/boot/dts/freescale/imx8mm-evk.dtb
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dtb
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dtb
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dtb
arch/arm64/boot/dts/freescale/imx8mm-mx8menlo.dtb
arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dtb
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-rdk.dtb
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dtb
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7903.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dahlia.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dev.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dahlia.dtb
arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dev.dtb

2022-10-10 13:55:56

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert usbmisc-imx to yaml format.

s/yaml/DT schema/

>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> .../devicetree/bindings/usb/usbmisc-imx.yaml | 52 +++++++++++++++++++
> 2 files changed, 52 insertions(+), 18 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> create mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> deleted file mode 100644
> index b796836d2ce7..000000000000
> --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -* Freescale i.MX non-core registers
> -
> -Required properties:
> -- #index-cells: Cells used to describe usb controller index. Should be <1>
> -- compatible: Should be one of below:
> - "fsl,imx6q-usbmisc" for imx6q
> - "fsl,vf610-usbmisc" for Vybrid vf610
> - "fsl,imx6sx-usbmisc" for imx6sx
> - "fsl,imx7d-usbmisc" for imx7d
> - "fsl,imx7ulp-usbmisc" for imx7ulp
> -- reg: Should contain registers location and length
> -
> -Examples:
> -usbmisc@2184800 {
> - #index-cells = <1>;
> - compatible = "fsl,imx6q-usbmisc";
> - reg = <0x02184800 0x200>;
> -};
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> new file mode 100644
> index 000000000000..c0741ce9b523
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/usbmisc-imx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX non-core registers
> +
> +maintainers:
> + - Greg Kroah-Hartman <[email protected]>

No, should be someone that knows this h/w, not who applies patches.

> +
> +properties:
> + compatible:
> + oneOf:
> + - enum:
> + - fsl,imx6q-usbmisc
> + - fsl,imx7ulp-usbmisc
> + - fsl,vf610-usbmisc
> + - items:
> + - enum:
> + - fsl,imx6ul-usbmisc
> + - fsl,imx6sx-usbmisc
> + - fsl,imx7d-usbmisc
> + - const: fsl,imx6q-usbmisc
> + - items:
> + - enum:
> + - fsl,imx7ulp-usbmisc
> + - const: fsl,imx7d-usbmisc
> +
> + reg:
> + maxItems: 1
> +
> + '#index-cells':

Humm, I doubt this got reviewed...

> + const: 1
> + description: Cells used to describe usb controller index. Should be <1>

Drop 'Should be <1>'. The constraints already say that.

> +
> +required:
> + - compatible
> + - reg
> + - '#index-cells'
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + usbmisc@2184800 {
> + #index-cells = <1>;
> + compatible = "fsl,imx6q-usbmisc";
> + reg = <0x02184800 0x200>;
> + };
> +
> +...
> --
> 2.37.1
>
>

2022-10-10 20:56:05

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 0/6] dt-bindings: usb: covert ci-hdrc-usb2/usbmisc-imx to yaml

On Mon, Oct 10, 2022 at 06:18:10PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> This patchset is to convert ci-hdrc-usb2 and usbmisc-imx to yaml format.
> There are compatible strings not landed in binding doc, but in device tree,
> so run dtbs_check on the single yaml convertion patch will report
> dtbs_check failure. If apply the whole patchset, there will be no failure.
>
> I put Greg as maintainer of the yaml file, because I not sure who should
> be put there.

Why not you?

2022-10-10 20:56:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert usbmisc-imx to yaml format.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> .../devicetree/bindings/usb/usbmisc-imx.yaml | 52 +++++++++++++++++++
> 2 files changed, 52 insertions(+), 18 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> create mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> deleted file mode 100644
> index b796836d2ce7..000000000000
> --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -* Freescale i.MX non-core registers
> -
> -Required properties:
> -- #index-cells: Cells used to describe usb controller index. Should be <1>
> -- compatible: Should be one of below:
> - "fsl,imx6q-usbmisc" for imx6q
> - "fsl,vf610-usbmisc" for Vybrid vf610
> - "fsl,imx6sx-usbmisc" for imx6sx
> - "fsl,imx7d-usbmisc" for imx7d
> - "fsl,imx7ulp-usbmisc" for imx7ulp
> -- reg: Should contain registers location and length
> -
> -Examples:
> -usbmisc@2184800 {
> - #index-cells = <1>;
> - compatible = "fsl,imx6q-usbmisc";
> - reg = <0x02184800 0x200>;
> -};
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> new file mode 100644
> index 000000000000..c0741ce9b523
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/usbmisc-imx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX non-core registers
> +
> +maintainers:
> + - Greg Kroah-Hartman <[email protected]>

Cool, is nxp going to pay me to maintain this? If not, then don't be
assigning such a thing to someone else. Why can you not maintain it?

Assigning a file to someone without even asking them is a bit odd,
please never do that.

thanks,

greg k-h

2022-10-11 02:01:16

by Jun Li

[permalink] [raw]
Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

+ Xu

> -----Original Message-----
> From: Greg KH <[email protected]>
> Sent: Tuesday, October 11, 2022 4:25 AM
> To: Peng Fan (OSS) <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; dl-linux-imx <[email protected]>;
> [email protected]; [email protected];
> [email protected]; [email protected]; Jun
> Li <[email protected]>; Peng Fan <[email protected]>
> Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
>
> On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > Convert usbmisc-imx to yaml format.
> >
> > Signed-off-by: Peng Fan <[email protected]>
> > ---
> > .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> > .../devicetree/bindings/usb/usbmisc-imx.yaml | 52
> > +++++++++++++++++++
> > 2 files changed, 52 insertions(+), 18 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > create mode 100644
> > Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > deleted file mode 100644
> > index b796836d2ce7..000000000000
> > --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > +++ /dev/null
> > @@ -1,18 +0,0 @@
> > -* Freescale i.MX non-core registers
> > -
> > -Required properties:
> > -- #index-cells: Cells used to describe usb controller index. Should
> > be <1>
> > -- compatible: Should be one of below:
> > - "fsl,imx6q-usbmisc" for imx6q
> > - "fsl,vf610-usbmisc" for Vybrid vf610
> > - "fsl,imx6sx-usbmisc" for imx6sx
> > - "fsl,imx7d-usbmisc" for imx7d
> > - "fsl,imx7ulp-usbmisc" for imx7ulp
> > -- reg: Should contain registers location and length
> > -
> > -Examples:
> > -usbmisc@2184800 {
> > - #index-cells = <1>;
> > - compatible = "fsl,imx6q-usbmisc";
> > - reg = <0x02184800 0x200>;
> > -};
> > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > new file mode 100644
> > index 000000000000..c0741ce9b523
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > @@ -0,0 +1,52 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> >
> +cetree.org%2Fschemas%2Fusb%2Fusbmisc-imx.yaml%23&amp;data=05%7C01%7Cj
> >
> +un.li%40nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6f
> >
> +a92cd99c5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZsb3d
> >
> +8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> >
> +C3000%7C%7C%7C&amp;sdata=Kw6EHKfbwZ%2FfGgX6xJxML4W4E5DLiRx6pauQbLEbt0
> > +g%3D&amp;reserved=0
> > +$schema:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> >
> +cetree.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cjun.li%40
> >
> +nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6fa92cd99c
> >
> +5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> >
> +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> >
> +%7C%7C&amp;sdata=akKA3n0sxbOhvwDURs%2FoV7nM680QcOQCLKgxnakRe8w%3D&amp
> > +;reserved=0
> > +
> > +title: Freescale i.MX non-core registers
> > +
> > +maintainers:
> > + - Greg Kroah-Hartman <[email protected]>
>
> Cool, is nxp going to pay me to maintain this? If not, then don't be assigning
> such a thing to someone else. Why can you not maintain it?
>
> Assigning a file to someone without even asking them is a bit odd, please
> never do that.

Hi Peng,

Thanks for this patchset.

Since [email protected] is now actively working on this IP for iMX, so he knows
well this h/w, I guess maybe he can maintain this, @Xu Yang, can you comments on
this?

Thanks
Li Jun

>
> thanks,
>
> greg k-h

2022-10-11 03:45:10

by Xu Yang

[permalink] [raw]
Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

Hi Peng,

> -----Original Message-----
> From: Jun Li <[email protected]>
> Sent: Tuesday, October 11, 2022 9:51 AM
> To: Greg KH <[email protected]>; Peng Fan (OSS) <[email protected]>; Xu Yang <[email protected]>
> Cc: [email protected]; [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; dl-linux-imx <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected]; Peng Fan
> <[email protected]>
> Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
>
> + Xu
>
> > -----Original Message-----
> > From: Greg KH <[email protected]>
> > Sent: Tuesday, October 11, 2022 4:25 AM
> > To: Peng Fan (OSS) <[email protected]>
> > Cc: [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; dl-linux-imx <[email protected]>;
> > [email protected]; [email protected];
> > [email protected]; [email protected]; Jun
> > Li <[email protected]>; Peng Fan <[email protected]>
> > Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
> >
> > On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> > > From: Peng Fan <[email protected]>
> > >
> > > Convert usbmisc-imx to yaml format.
> > >
> > > Signed-off-by: Peng Fan <[email protected]>
> > > ---
> > > .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> > > .../devicetree/bindings/usb/usbmisc-imx.yaml | 52
> > > +++++++++++++++++++
> > > 2 files changed, 52 insertions(+), 18 deletions(-) delete mode
> > > 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > create mode 100644
> > > Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > deleted file mode 100644
> > > index b796836d2ce7..000000000000
> > > --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > +++ /dev/null
> > > @@ -1,18 +0,0 @@
> > > -* Freescale i.MX non-core registers
> > > -
> > > -Required properties:
> > > -- #index-cells: Cells used to describe usb controller index. Should
> > > be <1>
> > > -- compatible: Should be one of below:
> > > - "fsl,imx6q-usbmisc" for imx6q
> > > - "fsl,vf610-usbmisc" for Vybrid vf610
> > > - "fsl,imx6sx-usbmisc" for imx6sx
> > > - "fsl,imx7d-usbmisc" for imx7d
> > > - "fsl,imx7ulp-usbmisc" for imx7ulp
> > > -- reg: Should contain registers location and length
> > > -
> > > -Examples:
> > > -usbmisc@2184800 {
> > > - #index-cells = <1>;
> > > - compatible = "fsl,imx6q-usbmisc";
> > > - reg = <0x02184800 0x200>;
> > > -};
> > > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > new file mode 100644
> > > index 000000000000..c0741ce9b523
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > @@ -0,0 +1,52 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > > +---
> > > +$id:
> > >
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > >
> > +cetree.org%2Fschemas%2Fusb%2Fusbmisc-imx.yaml%23&amp;data=05%7C01%7Cj
> > >
> > +un.li%40nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6f
> > >
> > +a92cd99c5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZsb3d
> > >
> > +8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> > >
> > +C3000%7C%7C%7C&amp;sdata=Kw6EHKfbwZ%2FfGgX6xJxML4W4E5DLiRx6pauQbLEbt0
> > > +g%3D&amp;reserved=0
> > > +$schema:
> > >
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > >
> > +cetree.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cjun.li%40
> > >
> > +nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6fa92cd99c
> > >
> > +5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> > >
> > +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> > >
> > +%7C%7C&amp;sdata=akKA3n0sxbOhvwDURs%2FoV7nM680QcOQCLKgxnakRe8w%3D&amp
> > > +;reserved=0
> > > +
> > > +title: Freescale i.MX non-core registers
> > > +
> > > +maintainers:
> > > + - Greg Kroah-Hartman <[email protected]>
> >
> > Cool, is nxp going to pay me to maintain this? If not, then don't be assigning
> > such a thing to someone else. Why can you not maintain it?
> >
> > Assigning a file to someone without even asking them is a bit odd, please
> > never do that.
>
> Hi Peng,
>
> Thanks for this patchset.
>
> Since [email protected] is now actively working on this IP for iMX, so he knows
> well this h/w, I guess maybe he can maintain this, @Xu Yang, can you comments on
> this?

You can assign me as maintainer temporarily.
By the way, it seems that the following compatible strings should be added too.

fsl,imx25-usbmisc
fsl,imx27-usbmisc
fsl,imx35-usbmisc
fsl,imx51-usbmisc
fsl,imx53-usbmisc

Thanks,
Xu Yang

>
> Thanks
> Li Jun
>
> >
> > thanks,
> >
> > greg k-h

2022-10-12 06:40:10

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

> Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
>
> Hi Peng,
>
> > -----Original Message-----
> > From: Jun Li <[email protected]>
> > Sent: Tuesday, October 11, 2022 9:51 AM
> > To: Greg KH <[email protected]>; Peng Fan (OSS)
> > <[email protected]>; Xu Yang <[email protected]>
> > Cc: [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; dl-linux-imx <[email protected]>;
> > [email protected]; [email protected];
> > [email protected]; [email protected];
> > Peng Fan <[email protected]>
> > Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to
> > yaml
> >
> > + Xu
> >
> > > -----Original Message-----
> > > From: Greg KH <[email protected]>
> > > Sent: Tuesday, October 11, 2022 4:25 AM
> > > To: Peng Fan (OSS) <[email protected]>
> > > Cc: [email protected]; [email protected];
> > > [email protected]; [email protected];
> [email protected];
> > > [email protected]; dl-linux-imx <[email protected]>;
> > > [email protected]; [email protected];
> > > [email protected]; [email protected];
> > > Jun Li <[email protected]>; Peng Fan <[email protected]>
> > > Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to
> > > yaml
> > >
> > > On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> > > > From: Peng Fan <[email protected]>
> > > >
> > > > Convert usbmisc-imx to yaml format.
> > > >
> > > > Signed-off-by: Peng Fan <[email protected]>
> > > > ---
> > > > .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> > > > .../devicetree/bindings/usb/usbmisc-imx.yaml | 52
> > > > +++++++++++++++++++
> > > > 2 files changed, 52 insertions(+), 18 deletions(-) delete mode
> > > > 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > create mode 100644
> > > > Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > deleted file mode 100644
> > > > index b796836d2ce7..000000000000
> > > > --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > +++ /dev/null
> > > > @@ -1,18 +0,0 @@
> > > > -* Freescale i.MX non-core registers
> > > > -
> > > > -Required properties:
> > > > -- #index-cells: Cells used to describe usb controller index.
> > > > Should be <1>
> > > > -- compatible: Should be one of below:
> > > > - "fsl,imx6q-usbmisc" for imx6q
> > > > - "fsl,vf610-usbmisc" for Vybrid vf610
> > > > - "fsl,imx6sx-usbmisc" for imx6sx
> > > > - "fsl,imx7d-usbmisc" for imx7d
> > > > - "fsl,imx7ulp-usbmisc" for imx7ulp
> > > > -- reg: Should contain registers location and length
> > > > -
> > > > -Examples:
> > > > -usbmisc@2184800 {
> > > > - #index-cells = <1>;
> > > > - compatible = "fsl,imx6q-usbmisc";
> > > > - reg = <0x02184800 0x200>;
> > > > -};
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > new file mode 100644
> > > > index 000000000000..c0741ce9b523
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > @@ -0,0 +1,52 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML
> > > > +1.2
> > > > +---
> > > > +$id:
> > > >
> > >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fde
> > > +vi
> > > >
> > > +cetree.org%2Fschemas%2Fusb%2Fusbmisc-
> imx.yaml%23&amp;data=05%7C01%7
> > > +Cj
> > > >
> > >
> +un.li%40nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3
> bc2b4c
> > > +6f
> > > >
> > >
> +a92cd99c5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CT
> WFpbGZsb
> > > +3d
> > > >
> > >
> +8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D
> > > +%7
> > > >
> > >
> +C3000%7C%7C%7C&amp;sdata=Kw6EHKfbwZ%2FfGgX6xJxML4W4E5DLiRx6
> pauQbLEb
> > > +t0
> > > > +g%3D&amp;reserved=0
> > > > +$schema:
> > > >
> > >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fde
> > > +vi
> > > >
> > > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cjun.li%
> > > +40
> > > >
> > >
> +nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6f
> a92cd9
> > > +9c
> > > >
> > >
> +5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZ
> sb3d8eyJWI
> > > +jo
> > > >
> > >
> +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> 3000%
> > > +7C
> > > >
> > >
> +%7C%7C&amp;sdata=akKA3n0sxbOhvwDURs%2FoV7nM680QcOQCLKgxna
> kRe8w%3D&a
> > > +mp
> > > > +;reserved=0
> > > > +
> > > > +title: Freescale i.MX non-core registers
> > > > +
> > > > +maintainers:
> > > > + - Greg Kroah-Hartman <[email protected]>
> > >
> > > Cool, is nxp going to pay me to maintain this? If not, then don't
> > > be assigning such a thing to someone else. Why can you not maintain it?
> > >
> > > Assigning a file to someone without even asking them is a bit odd,
> > > please never do that.
> >
> > Hi Peng,
> >
> > Thanks for this patchset.
> >
> > Since [email protected] is now actively working on this IP for iMX, so
> > he knows well this h/w, I guess maybe he can maintain this, @Xu Yang,
> > can you comments on this?
>
> You can assign me as maintainer temporarily.

Sure, thanks.
> By the way, it seems that the following compatible strings should be added
> too.
>
> fsl,imx25-usbmisc
> fsl,imx27-usbmisc
> fsl,imx35-usbmisc
> fsl,imx51-usbmisc
> fsl,imx53-usbmisc

Patch 6/6 has these. This patch is just convert to yaml format.

Thanks,
Peng.
>
> Thanks,
> Xu Yang
>
> >
> > Thanks
> > Li Jun
> >
> > >
> > > thanks,
> > >
> > > greg k-h

2022-10-12 08:21:11

by Xu Yang

[permalink] [raw]
Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

> -----Original Message-----
> From: Peng Fan <[email protected]>
> Sent: Wednesday, October 12, 2022 2:19 PM
> To: Xu Yang <[email protected]>; Jun Li <[email protected]>; Greg KH <[email protected]>; Peng Fan (OSS)
> <[email protected]>
> Cc: [email protected]; [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; dl-linux-imx <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected]
> Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
>
> > Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
> >
> > Hi Peng,
> >
> > > -----Original Message-----
> > > From: Jun Li <[email protected]>
> > > Sent: Tuesday, October 11, 2022 9:51 AM
> > > To: Greg KH <[email protected]>; Peng Fan (OSS)
> > > <[email protected]>; Xu Yang <[email protected]>
> > > Cc: [email protected]; [email protected];
> > > [email protected]; [email protected]; [email protected];
> > > [email protected]; dl-linux-imx <[email protected]>;
> > > [email protected]; [email protected];
> > > [email protected]; [email protected];
> > > Peng Fan <[email protected]>
> > > Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to
> > > yaml
> > >
> > > + Xu
> > >
> > > > -----Original Message-----
> > > > From: Greg KH <[email protected]>
> > > > Sent: Tuesday, October 11, 2022 4:25 AM
> > > > To: Peng Fan (OSS) <[email protected]>
> > > > Cc: [email protected]; [email protected];
> > > > [email protected]; [email protected];
> > [email protected];
> > > > [email protected]; dl-linux-imx <[email protected]>;
> > > > [email protected]; [email protected];
> > > > [email protected]; [email protected];
> > > > Jun Li <[email protected]>; Peng Fan <[email protected]>
> > > > Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to
> > > > yaml
> > > >
> > > > On Mon, Oct 10, 2022 at 06:18:14PM +0800, Peng Fan (OSS) wrote:
> > > > > From: Peng Fan <[email protected]>
> > > > >
> > > > > Convert usbmisc-imx to yaml format.
> > > > >
> > > > > Signed-off-by: Peng Fan <[email protected]>
> > > > > ---
> > > > > .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> > > > > .../devicetree/bindings/usb/usbmisc-imx.yaml | 52
> > > > > +++++++++++++++++++
> > > > > 2 files changed, 52 insertions(+), 18 deletions(-) delete mode
> > > > > 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > > create mode 100644
> > > > > Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > > deleted file mode 100644
> > > > > index b796836d2ce7..000000000000
> > > > > --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > > > > +++ /dev/null
> > > > > @@ -1,18 +0,0 @@
> > > > > -* Freescale i.MX non-core registers
> > > > > -
> > > > > -Required properties:
> > > > > -- #index-cells: Cells used to describe usb controller index.
> > > > > Should be <1>
> > > > > -- compatible: Should be one of below:
> > > > > - "fsl,imx6q-usbmisc" for imx6q
> > > > > - "fsl,vf610-usbmisc" for Vybrid vf610
> > > > > - "fsl,imx6sx-usbmisc" for imx6sx
> > > > > - "fsl,imx7d-usbmisc" for imx7d
> > > > > - "fsl,imx7ulp-usbmisc" for imx7ulp
> > > > > -- reg: Should contain registers location and length
> > > > > -
> > > > > -Examples:
> > > > > -usbmisc@2184800 {
> > > > > - #index-cells = <1>;
> > > > > - compatible = "fsl,imx6q-usbmisc";
> > > > > - reg = <0x02184800 0x200>;
> > > > > -};
> > > > > diff --git
> > > > > a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > > b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > > new file mode 100644
> > > > > index 000000000000..c0741ce9b523
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > > > > @@ -0,0 +1,52 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML
> > > > > +1.2
> > > > > +---
> > > > > +$id:
> > > > >
> > > >
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fde
> > > > +vi
> > > > >
> > > > +cetree.org%2Fschemas%2Fusb%2Fusbmisc-
> > imx.yaml%23&amp;data=05%7C01%7
> > > > +Cj
> > > > >
> > > >
> > +un.li%40nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3
> > bc2b4c
> > > > +6f
> > > > >
> > > >
> > +a92cd99c5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CT
> > WFpbGZsb
> > > > +3d
> > > > >
> > > >
> > +8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> > %3D
> > > > +%7
> > > > >
> > > >
> > +C3000%7C%7C%7C&amp;sdata=Kw6EHKfbwZ%2FfGgX6xJxML4W4E5DLiRx6
> > pauQbLEb
> > > > +t0
> > > > > +g%3D&amp;reserved=0
> > > > > +$schema:
> > > > >
> > > >
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fde
> > > > +vi
> > > > >
> > > > +cetree.org%2Fmeta-
> > schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cjun.li%
> > > > +40
> > > > >
> > > >
> > +nxp.com%7Ca362b29633474826da9408daaafd7315%7C686ea1d3bc2b4c6f
> > a92cd9
> > > > +9c
> > > > >
> > > >
> > +5c301635%7C0%7C0%7C638010302778862012%7CUnknown%7CTWFpbGZ
> > sb3d8eyJWI
> > > > +jo
> > > > >
> > > >
> > +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> > 3000%
> > > > +7C
> > > > >
> > > >
> > +%7C%7C&amp;sdata=akKA3n0sxbOhvwDURs%2FoV7nM680QcOQCLKgxna
> > kRe8w%3D&a
> > > > +mp
> > > > > +;reserved=0
> > > > > +
> > > > > +title: Freescale i.MX non-core registers
> > > > > +
> > > > > +maintainers:
> > > > > + - Greg Kroah-Hartman <[email protected]>
> > > >
> > > > Cool, is nxp going to pay me to maintain this? If not, then don't
> > > > be assigning such a thing to someone else. Why can you not maintain it?
> > > >
> > > > Assigning a file to someone without even asking them is a bit odd,
> > > > please never do that.
> > >
> > > Hi Peng,
> > >
> > > Thanks for this patchset.
> > >
> > > Since [email protected] is now actively working on this IP for iMX, so
> > > he knows well this h/w, I guess maybe he can maintain this, @Xu Yang,
> > > can you comments on this?
> >
> > You can assign me as maintainer temporarily.
>
> Sure, thanks.
> > By the way, it seems that the following compatible strings should be added
> > too.
> >
> > fsl,imx25-usbmisc
> > fsl,imx27-usbmisc
> > fsl,imx35-usbmisc
> > fsl,imx51-usbmisc
> > fsl,imx53-usbmisc
>
> Patch 6/6 has these. This patch is just convert to yaml format.

Okay, got it. Then no problem.

Thanks,
Xu Yang

>
> Thanks,
> Peng.
> >
> > Thanks,
> > Xu Yang
> >
> > >
> > > Thanks
> > > Li Jun
> > >
> > > >
> > > > thanks,
> > > >
> > > > greg k-h

2022-10-12 10:59:50

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

> Subject: Re: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml
>
> On Mon, Oct 10, 2022 at 06:18:11PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > Convert the binding to yaml format
>
> s/yaml/DT schema/
>
> >
> > Signed-off-by: Peng Fan <[email protected]>
> > ---
> > .../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
> > .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
> > 2 files changed, 306 insertions(+), 158 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> > create mode 100644
> > Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
>
> > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > new file mode 100644
> > index 000000000000..1c10691c45f2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > @@ -0,0 +1,306 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Fusb%2Fci-hdrc-
> usb2.yaml%23&amp;data=05%7C01%7C
> >
> +peng.fan%40nxp.com%7Cfc258d6827034e160b4908daaab8b693%7C686ea
> 1d3bc2b4
> >
> +c6fa92cd99c5c301635%7C0%7C0%7C638010007567431723%7CUnknown%
> 7CTWFpbGZs
> >
> +b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3
> >
> +D%7C3000%7C%7C%7C&amp;sdata=g%2FCjkGDjScTAOc1PQg1BI9GjC%2Fg
> XRK5DuyHcT
> > +NjLCZQ%3D&amp;reserved=0
> > +$schema:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cpeng.fan%
> >
> +40nxp.com%7Cfc258d6827034e160b4908daaab8b693%7C686ea1d3bc2b4c
> 6fa92cd9
> >
> +9c5c301635%7C0%7C0%7C638010007567431723%7CUnknown%7CTWFpb
> GZsb3d8eyJWI
> >
> +joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000%
> >
> +7C%7C%7C&amp;sdata=s61yrkTxGglHJ7d9oL8WGD7fQYMeDDnZHi21c6Wg
> %2B6k%3D&a
> > +mp;reserved=0
> > +
> > +title: USB2 ChipIdea USB controller for ci13xxx Binding
> > +
> > +maintainers:
> > + - Greg Kroah-Hartman <[email protected]>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - enum:
> > + - chipidea,usb2
> > + - lsi,zevio-usb
> > + - nvidia,tegra20-udc
> > + - nvidia,tegra30-udc
> > + - nvidia,tegra114-udc
> > + - nvidia,tegra124-udc
> > + - qcom,ci-hdrc
> > + - items:
> > + - enum:
> > + - fsl,imx23-usb
> > + - fsl,imx25-usb
> > + - fsl,imx28-usb
> > + - fsl,imx6q-usb
> > + - fsl,imx6sl-usb
> > + - fsl,imx6sx-usb
> > + - fsl,imx6ul-usb
> > + - fsl,imx7d-usb
> > + - const: fsl,imx27-usb
> > + - items:
> > + - const: fsl,imx7ulp-usb
> > + - const: fsl,imx6ul-usb
> > + - items:
> > + - const: lsi,zevio-usb
> > + - items:
> > + - const: xlnx,zynq-usb-2.20a
> > + - const: chipidea,usb2
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 2
> > +
> > + itc-setting:
> > + description:
> > + interrupt threshold control register control, the setting should be
> > + aligned with ITC bits at register USBCMD.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + ahb-burst-config:
> > + description:
> > + it is vendor dependent, the required value should be aligned with
> > + AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
> > + used to change AHB burst configuration, check the chipidea spec for
> > + meaning of each value. If this property is not existed, it will use
> > + the reset value.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + minimum: 0x0
> > + maximum: 0x7
> > +
> > + tx-burst-size-dword:
> > + description:
> > + it is vendor dependent, the tx burst size in dword (4 bytes), This
> > + register represents the maximum length of a the burst in 32-bit
> > + words while moving data from system memory to the USB bus, the
> value
> > + of this property will only take effect if property "ahb-burst-config"
> > + is set to 0, if this property is missing the reset default of the
> > + hardware implementation will be used.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + rx-burst-size-dword:
> > + description:
> > + it is vendor dependent, the rx burst size in dword (4 bytes), This
> > + register represents the maximum length of a the burst in 32-bit words
> > + while moving data from the USB bus to system memory, the value of
> > + this property will only take effect if property "ahb-burst-config"
> > + is set to 0, if this property is missing the reset default of the
> > + hardware implementation will be used.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + extcon:
> > + description: |
> > + Phandles to external connector devices. First phandle should point
> > + to external connector, which provide "USB" cable events, the second
> > + should point to external connector device, which provide "USB-HOST"
> > + cable events. If one of the external connector devices is not
> > + required, empty <0> phandle should be specified.
> > +
> > + phy-clkgate-delay-us:
> > + description: |
> > + The delay time (us) between putting the PHY into low power mode
> and
> > + gating the PHY clock.
> > +
> > + non-zero-ttctrl-ttha:
> > + description: |
> > + After setting this property, the value of register ttctrl.ttha
> > + will be 0x7f; if not, the value will be 0x0, this is the default
> > + value. It needs to be very carefully for setting this property, it
> > + is recommended that consult with your IC engineer before setting
> > + this value. On the most of chipidea platforms, the "usage_tt" flag
> > + at RTL is 0, so this property only affects siTD.
> > +
> > + If this property is not set, the max packet size is 1023 bytes, and
> > + if the total of packet size for pervious transactions are more than
> > + 256 bytes, it can't accept any transactions within this frame. The
> > + use case is single transaction, but higher frame rate.
> > +
> > + If this property is set, the max packet size is 188 bytes, it can
> > + handle more transactions than above case, it can accept transactions
> > + until it considers the left room size within frame is less than 188
> > + bytes, software needs to make sure it does not send more than 90%
> > + maximum_periodic_data_per_frame. The use case is multiple
> > + transactions, but less frame rate.
> > +
> > + mux-controls:
> > + description: |
> > + The mux control for toggling host/device output of this controller.
> > + It's expected that a mux state of 0 indicates device mode and a mux
> > + state of 1 indicates host mode.
> > +
> > + mux-control-names:
> > + description: Shall be "usb_switch" if mux-controls is specified.
> > +
> > + pinctrl-names:
> > + description: |
> > + Names for optional pin modes in "default", "host", "device".
> > + In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
> > + In this case, the "idle" state needs to pull down the data and
> > + strobe pin and the "active" state needs to pull up the strobe pin.
> > +
> > + pinctrl-0:
> > + maxItems: 1
> > +
> > + pinctrl-1:
> > + maxItems: 1
> > +
> > + phys:
> > + maxItems: 1
> > +
> > + phy-names:
> > + const: usb-phy
> > +
> > + vbus-supply:
> > + description: reference to the VBUS regulator.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > +
> > +allOf:
> > + - $ref: usb-drd.yaml#
> > + - $ref: usb-hcd.yaml#
> > + - if:
> > + properties:
> > + mux-controls:
> > + true
> > + then:
> > + properties:
> > + mux-control-names:
> > + const: usb_switch
> > + - if:
> > + properties:
> > + phy_type:
> > + const: hsic
> > +
> > + required:
> > + - phy_type
> > + then:
> > + properties:
> > + pinctrl-names:
> > + items:
> > + - const: idle
> > + - const: active
> > + else:
> > + properties:
> > + pinctrl-names:
> > + oneOf:
> > + - items:
> > + - const: default
> > + - enum:
> > + - host
> > + - device
> > + - items:
> > + - const: default
> > + - if:
> > + properties:
> > + compatible:
> > + enum:
> > + - fsl,imx23-usb
> > + - fsl,imx25-usb
> > + - fsl,imx27-usb
> > + - fsl,imx28-usb
> > + - fsl,imx6q-usb
> > + - fsl,imx6sl-usb
> > + - fsl,imx6sx-usb
> > + - fsl,imx6ul-usb
> > + - fsl,imx7d-usb
> > + - fsl,imx7ulp-usb
> > + then:
> > + properties:
> > + fsl,usbmisc:
> > + description:
> > + Phandler of non-core register device, with one argument that
> > + indicate usb controller index
>
> type ref?
>
> Don't define properties within if/then/else. Define at top level and then
> restrict presence in the if/then schema.
>
> > +
> > + disable-over-current:
> > + description: disable over current detect
> > +
> > + over-current-active-low:
> > + description: over current signal polarity is active low
> > +
> > + over-current-active-high:
> > + description: |
> > + Over current signal polarity is active high. It's recommended to
> > + specify the over current polarity.
> > +
> > + power-active-high:
> > + description: power signal polarity is active high
> > +
> > + external-vbus-divider:
> > + description: enables off-chip resistor divider for Vbus
> > +
> > + samsung,picophy-pre-emp-curr-control:
> > + description: |
> > + HS Transmitter Pre-Emphasis Current Control. This signal controls
> > + the amount of current sourced to the USB_OTG*_DP and
> USB_OTG*_DN
> > + pins after a J-to-K or K-to-J transition. The range is from 0x0 to
> > + 0x3, the default value is 0x1. Details can refer to
> TXPREEMPAMPTUNE0
> > + bits of USBNC_n_PHY_CFG1.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + minimum: 0x0
> > + maximum: 0x3
> > +
> > + samsung,picophy-dc-vol-level-adjust:
> > + description: |
> > + HS DC Voltage Level Adjustment. Adjust the high-speed transmitter
> DC
> > + level voltage. The range is from 0x0 to 0xf, the default value is
> > + 0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + minimum: 0x0
> > + maximum: 0xf
> > +
> > +additionalProperties: true
>
> Cannot be true.
>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/clock/berlin2.h>
> > +
> > + usb@f7ed0000 {
> > + compatible = "chipidea,usb2";
>
> Doesn't match documentation. You should know by now to test your
> bindings.

I am not very clear on this. Could you please share more info?

Thanks,
Peng.

>
> > + reg = <0xf7ed0000 0x10000>;
> > + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&chip CLKID_USB0>;
> > + phys = <&usb_phy0>;
> > + phy-names = "usb-phy";
> > + vbus-supply = <&reg_usb0_vbus>;
> > + itc-setting = <0x4>; /* 4 micro-frames */
> > + /* Incremental burst of unspecified length */
> > + ahb-burst-config = <0x0>;
> > + tx-burst-size-dword = <0x10>; /* 64 bytes */
> > + rx-burst-size-dword = <0x10>;
> > + extcon = <0>, <&usb_id>;
> > + phy-clkgate-delay-us = <400>;
> > + mux-controls = <&usb_switch>;
> > + mux-control-names = "usb_switch";
> > + };
> > +
> > + # Example for HSIC:
> > + - |
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/clock/imx6qdl-clock.h>
> > +
> > + usb@2184400 {
> > + compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
> > + reg = <0x02184400 0x200>;
> > + interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&clks IMX6QDL_CLK_USBOH3>;
> > + fsl,usbphy = <&usbphynop1>;
> > + fsl,usbmisc = <&usbmisc 2>;
> > + phy_type = "hsic";
> > + dr_mode = "host";
> > + ahb-burst-config = <0x0>;
> > + tx-burst-size-dword = <0x10>;
> > + rx-burst-size-dword = <0x10>;
> > + pinctrl-names = "idle", "active";
> > + pinctrl-0 = <&pinctrl_usbh2_idle>;
> > + pinctrl-1 = <&pinctrl_usbh2_active>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + usbnet: ethernet@1 {
> > + compatible = "usb424,9730";
> > + reg = <1>;
> > + };
> > + };
> > +
> > +...
> > --
> > 2.37.1
> >
> >

2022-10-12 13:26:40

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

On 10/10/2022 06:18, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert the binding to yaml format
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
> .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
> 2 files changed, 306 insertions(+), 158 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> create mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> deleted file mode 100644
> index ba51fb1252b9..000000000000
> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> +++ /dev/null
> @@ -1,158 +0,0 @@
> -* USB2 ChipIdea USB controller for ci13xxx
> -
> -Required properties:
> -- compatible: should be one of:
> - "fsl,imx23-usb"
> - "fsl,imx27-usb"
> - "fsl,imx28-usb"
> - "fsl,imx6q-usb"
> - "fsl,imx6sl-usb"
> - "fsl,imx6sx-usb"
> - "fsl,imx6ul-usb"
> - "fsl,imx7d-usb"
> - "fsl,imx7ulp-usb"
> - "lsi,zevio-usb"
> - "qcom,ci-hdrc"
> - "chipidea,usb2"
> - "xlnx,zynq-usb-2.20a"
> - "nvidia,tegra20-udc"
> - "nvidia,tegra30-udc"
> - "nvidia,tegra114-udc"
> - "nvidia,tegra124-udc"
> -- reg: base address and length of the registers
> -- interrupts: interrupt for the USB controller
> -
> -Recommended properies:
> -- phy_type: the type of the phy connected to the core. Should be one
> - of "utmi", "utmi_wide", "ulpi", "serial" or "hsic". Without this
> - property the PORTSC register won't be touched.
> -- dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg"
> -
> -Deprecated properties:
> -- usb-phy: phandle for the PHY device. Use "phys" instead.
> -- fsl,usbphy: phandle of usb phy that connects to the port. Use "phys" instead.
> -
> -Optional properties:
> -- clocks: reference to the USB clock
> -- phys: reference to the USB PHY
> -- phy-names: should be "usb-phy"
> -- vbus-supply: reference to the VBUS regulator
> -- maximum-speed: limit the maximum connection speed to "full-speed".
> -- tpl-support: TPL (Targeted Peripheral List) feature for targeted hosts
> -- itc-setting: interrupt threshold control register control, the setting
> - should be aligned with ITC bits at register USBCMD.
> -- ahb-burst-config: it is vendor dependent, the required value should be
> - aligned with AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This
> - property is used to change AHB burst configuration, check the chipidea
> - spec for meaning of each value. If this property is not existed, it
> - will use the reset value.
> -- tx-burst-size-dword: it is vendor dependent, the tx burst size in dword
> - (4 bytes), This register represents the maximum length of a the burst
> - in 32-bit words while moving data from system memory to the USB
> - bus, the value of this property will only take effect if property
> - "ahb-burst-config" is set to 0, if this property is missing the reset
> - default of the hardware implementation will be used.
> -- rx-burst-size-dword: it is vendor dependent, the rx burst size in dword
> - (4 bytes), This register represents the maximum length of a the burst
> - in 32-bit words while moving data from the USB bus to system memory,
> - the value of this property will only take effect if property
> - "ahb-burst-config" is set to 0, if this property is missing the reset
> - default of the hardware implementation will be used.
> -- extcon: phandles to external connector devices. First phandle should point to
> - external connector, which provide "USB" cable events, the second should point
> - to external connector device, which provide "USB-HOST" cable events. If one
> - of the external connector devices is not required, empty <0> phandle should
> - be specified.
> -- phy-clkgate-delay-us: the delay time (us) between putting the PHY into
> - low power mode and gating the PHY clock.
> -- non-zero-ttctrl-ttha: after setting this property, the value of register
> - ttctrl.ttha will be 0x7f; if not, the value will be 0x0, this is the default
> - value. It needs to be very carefully for setting this property, it is
> - recommended that consult with your IC engineer before setting this value.
> - On the most of chipidea platforms, the "usage_tt" flag at RTL is 0, so this
> - property only affects siTD.
> - If this property is not set, the max packet size is 1023 bytes, and if
> - the total of packet size for pervious transactions are more than 256 bytes,
> - it can't accept any transactions within this frame. The use case is single
> - transaction, but higher frame rate.
> - If this property is set, the max packet size is 188 bytes, it can handle
> - more transactions than above case, it can accept transactions until it
> - considers the left room size within frame is less than 188 bytes, software
> - needs to make sure it does not send more than 90%
> - maximum_periodic_data_per_frame. The use case is multiple transactions, but
> - less frame rate.
> -- mux-controls: The mux control for toggling host/device output of this
> - controller. It's expected that a mux state of 0 indicates device mode and a
> - mux state of 1 indicates host mode.
> -- mux-control-names: Shall be "usb_switch" if mux-controls is specified.
> -- pinctrl-names: Names for optional pin modes in "default", "host", "device".
> - In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this
> - case, the "idle" state needs to pull down the data and strobe pin
> - and the "active" state needs to pull up the strobe pin.
> -- pinctrl-n: alternate pin modes
> -
> -i.mx specific properties
> -- fsl,usbmisc: phandler of non-core register device, with one
> - argument that indicate usb controller index
> -- disable-over-current: disable over current detect
> -- over-current-active-low: over current signal polarity is active low.
> -- over-current-active-high: over current signal polarity is active high.
> - It's recommended to specify the over current polarity.
> -- power-active-high: power signal polarity is active high
> -- external-vbus-divider: enables off-chip resistor divider for Vbus
> -- samsung,picophy-pre-emp-curr-control: HS Transmitter Pre-Emphasis Current
> - Control. This signal controls the amount of current sourced to the
> - USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition.
> - The range is from 0x0 to 0x3, the default value is 0x1.
> - Details can refer to TXPREEMPAMPTUNE0 bits of USBNC_n_PHY_CFG1.
> -- samsung,picophy-dc-vol-level-adjust: HS DC Voltage Level Adjustment.
> - Adjust the high-speed transmitter DC level voltage.
> - The range is from 0x0 to 0xf, the default value is 0x3.
> - Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
> -
> -Example:
> -
> - usb@f7ed0000 {
> - compatible = "chipidea,usb2";
> - reg = <0xf7ed0000 0x10000>;
> - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
> - clocks = <&chip CLKID_USB0>;
> - phys = <&usb_phy0>;
> - phy-names = "usb-phy";
> - vbus-supply = <&reg_usb0_vbus>;
> - itc-setting = <0x4>; /* 4 micro-frames */
> - /* Incremental burst of unspecified length */
> - ahb-burst-config = <0x0>;
> - tx-burst-size-dword = <0x10>; /* 64 bytes */
> - rx-burst-size-dword = <0x10>;
> - extcon = <0>, <&usb_id>;
> - phy-clkgate-delay-us = <400>;
> - mux-controls = <&usb_switch>;
> - mux-control-names = "usb_switch";
> - };
> -
> -Example for HSIC:
> -
> - usb@2184400 {
> - compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
> - reg = <0x02184400 0x200>;
> - interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
> - clocks = <&clks IMX6QDL_CLK_USBOH3>;
> - fsl,usbphy = <&usbphynop1>;
> - fsl,usbmisc = <&usbmisc 2>;
> - phy_type = "hsic";
> - dr_mode = "host";
> - ahb-burst-config = <0x0>;
> - tx-burst-size-dword = <0x10>;
> - rx-burst-size-dword = <0x10>;
> - pinctrl-names = "idle", "active";
> - pinctrl-0 = <&pinctrl_usbh2_idle>;
> - pinctrl-1 = <&pinctrl_usbh2_active>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - usbnet: ethernet@1 {
> - compatible = "usb424,9730";
> - reg = <1>;
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> new file mode 100644
> index 000000000000..1c10691c45f2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> @@ -0,0 +1,306 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: USB2 ChipIdea USB controller for ci13xxx Binding
> +
> +maintainers:
> + - Greg Kroah-Hartman <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - enum:
> + - chipidea,usb2
> + - lsi,zevio-usb
> + - nvidia,tegra20-udc
> + - nvidia,tegra30-udc
> + - nvidia,tegra114-udc
> + - nvidia,tegra124-udc
> + - qcom,ci-hdrc
> + - items:
> + - enum:
> + - fsl,imx23-usb
> + - fsl,imx25-usb
> + - fsl,imx28-usb
> + - fsl,imx6q-usb
> + - fsl,imx6sl-usb
> + - fsl,imx6sx-usb
> + - fsl,imx6ul-usb
> + - fsl,imx7d-usb
> + - const: fsl,imx27-usb
> + - items:
> + - const: fsl,imx7ulp-usb
> + - const: fsl,imx6ul-usb
> + - items:
> + - const: lsi,zevio-usb

You already have this in first enum.

> + - items:
> + - const: xlnx,zynq-usb-2.20a
> + - const: chipidea,usb2
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +

Your patches have several white-space issues.

Don't send patches which fail checkpatch.

> + clocks:
> + maxItems: 2
> +
> + itc-setting:
> + description:
> + interrupt threshold control register control, the setting should be
> + aligned with ITC bits at register USBCMD.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + ahb-burst-config:
> + description:
> + it is vendor dependent, the required value should be aligned with
> + AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
> + used to change AHB burst configuration, check the chipidea spec for
> + meaning of each value. If this property is not existed, it will use
> + the reset value.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0x0
> + maximum: 0x7
> +
> + tx-burst-size-dword:
> + description:
> + it is vendor dependent, the tx burst size in dword (4 bytes), This
> + register represents the maximum length of a the burst in 32-bit
> + words while moving data from system memory to the USB bus, the value
> + of this property will only take effect if property "ahb-burst-config"
> + is set to 0, if this property is missing the reset default of the
> + hardware implementation will be used.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + rx-burst-size-dword:
> + description:
> + it is vendor dependent, the rx burst size in dword (4 bytes), This
> + register represents the maximum length of a the burst in 32-bit words
> + while moving data from the USB bus to system memory, the value of
> + this property will only take effect if property "ahb-burst-config"
> + is set to 0, if this property is missing the reset default of the
> + hardware implementation will be used.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + extcon:
> + description: |
> + Phandles to external connector devices. First phandle should point
> + to external connector, which provide "USB" cable events, the second
> + should point to external connector device, which provide "USB-HOST"
> + cable events. If one of the external connector devices is not
> + required, empty <0> phandle should be specified.
> +
> + phy-clkgate-delay-us:
> + description: |
> + The delay time (us) between putting the PHY into low power mode and
> + gating the PHY clock.
> +
> + non-zero-ttctrl-ttha:
> + description: |
> + After setting this property, the value of register ttctrl.ttha
> + will be 0x7f; if not, the value will be 0x0, this is the default
> + value. It needs to be very carefully for setting this property, it
> + is recommended that consult with your IC engineer before setting
> + this value. On the most of chipidea platforms, the "usage_tt" flag
> + at RTL is 0, so this property only affects siTD.
> +
> + If this property is not set, the max packet size is 1023 bytes, and
> + if the total of packet size for pervious transactions are more than
> + 256 bytes, it can't accept any transactions within this frame. The
> + use case is single transaction, but higher frame rate.
> +
> + If this property is set, the max packet size is 188 bytes, it can
> + handle more transactions than above case, it can accept transactions
> + until it considers the left room size within frame is less than 188
> + bytes, software needs to make sure it does not send more than 90%
> + maximum_periodic_data_per_frame. The use case is multiple
> + transactions, but less frame rate.
> +
> + mux-controls:
> + description: |
> + The mux control for toggling host/device output of this controller.
> + It's expected that a mux state of 0 indicates device mode and a mux
> + state of 1 indicates host mode.
> +
> + mux-control-names:
> + description: Shall be "usb_switch" if mux-controls is specified.

Just define the item here.

> +
> + pinctrl-names:
> + description: |
> + Names for optional pin modes in "default", "host", "device".
> + In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
> + In this case, the "idle" state needs to pull down the data and
> + strobe pin and the "active" state needs to pull up the strobe pin.

Describe the items. Otherwise this does not make much sense, because
core allows it.

> +
> + pinctrl-0:
> + maxItems: 1
> +
> + pinctrl-1:
> + maxItems: 1
> +
> + phys:
> + maxItems: 1
> +
> + phy-names:
> + const: usb-phy
> +
> + vbus-supply:
> + description: reference to the VBUS regulator.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +allOf:
> + - $ref: usb-drd.yaml#
> + - $ref: usb-hcd.yaml#
> + - if:
> + properties:
> + mux-controls:
> + true
> + then:
> + properties:
> + mux-control-names:
> + const: usb_switch
> + - if:
> + properties:
> + phy_type:
> + const: hsic
> +
> + required:
> + - phy_type
> + then:
> + properties:
> + pinctrl-names:
> + items:
> + - const: idle
> + - const: active
> + else:
> + properties:
> + pinctrl-names:
> + oneOf:
> + - items:
> + - const: default
> + - enum:
> + - host
> + - device
> + - items:
> + - const: default
> + - if:
> + properties:
> + compatible:
> + enum:
> + - fsl,imx23-usb
> + - fsl,imx25-usb
> + - fsl,imx27-usb
> + - fsl,imx28-usb
> + - fsl,imx6q-usb
> + - fsl,imx6sl-usb
> + - fsl,imx6sx-usb
> + - fsl,imx6ul-usb
> + - fsl,imx7d-usb
> + - fsl,imx7ulp-usb
> + then:
> + properties:
> + fsl,usbmisc:

What's the type? Which other schema defined it?

Same applies to several other properties - are you sure they are already
defined by some other schema?
> +...

Best regards,
Krzysztof

2022-10-12 13:27:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/6] dt-bindings: usb: ci-hdrc-usb2: add i.MX53/6SLL/UL compatible

On 10/10/2022 06:18, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Add i.MX53, i.MX6SLL, i.MX6UL compatible
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> index 1c10691c45f2..575084ccd6b8 100644
> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> @@ -25,15 +25,23 @@ properties:
> - fsl,imx23-usb
> - fsl,imx25-usb
> - fsl,imx28-usb
> + - fsl,imx50-usb
> + - fsl,imx51-usb
> + - fsl,imx53-usb
> - fsl,imx6q-usb
> - fsl,imx6sl-usb
> - fsl,imx6sx-usb
> - fsl,imx6ul-usb
> - fsl,imx7d-usb
> + - fsl,vf610-usb
> - const: fsl,imx27-usb
> - items:
> - const: fsl,imx7ulp-usb
> - const: fsl,imx6ul-usb
> + - items:
> + - const: fsl,imx6sll-usb
> + - const: fsl,imx6ul-usb
> + - const: fsl,imx27-usb

Order entries by last compatible, so this goes before the section
"fsl,imx6ul-usb"

> - items:
> - const: lsi,zevio-usb
> - items:

Best regards,
Krzysztof

2022-10-12 14:03:55

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

On 10/10/2022 06:18, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert usbmisc-imx to yaml format.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> .../devicetree/bindings/usb/usbmisc-imx.yaml | 52 +++++++++++++++++++
> 2 files changed, 52 insertions(+), 18 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> create mode 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> deleted file mode 100644
> index b796836d2ce7..000000000000
> --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -* Freescale i.MX non-core registers
> -
> -Required properties:
> -- #index-cells: Cells used to describe usb controller index. Should be <1>
> -- compatible: Should be one of below:
> - "fsl,imx6q-usbmisc" for imx6q
> - "fsl,vf610-usbmisc" for Vybrid vf610
> - "fsl,imx6sx-usbmisc" for imx6sx
> - "fsl,imx7d-usbmisc" for imx7d
> - "fsl,imx7ulp-usbmisc" for imx7ulp
> -- reg: Should contain registers location and length
> -
> -Examples:
> -usbmisc@2184800 {
> - #index-cells = <1>;
> - compatible = "fsl,imx6q-usbmisc";
> - reg = <0x02184800 0x200>;
> -};
> diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml

Filename: fsl,usbmisc.yaml

> new file mode 100644
> index 000000000000..c0741ce9b523
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/usbmisc-imx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX non-core registers

non-core registers? Does not look right.


Best regards,
Krzysztof

2022-10-14 01:41:49

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml

> Subject: Re: [PATCH 4/6] dt-bindings: usb: usbmisc-imx: convert to yaml
>
> On 10/10/2022 06:18, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > Convert usbmisc-imx to yaml format.
> >
> > Signed-off-by: Peng Fan <[email protected]>
> > ---
> > .../devicetree/bindings/usb/usbmisc-imx.txt | 18 -------
> > .../devicetree/bindings/usb/usbmisc-imx.yaml | 52
> > +++++++++++++++++++
> > 2 files changed, 52 insertions(+), 18 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > create mode 100644
> > Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > b/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > deleted file mode 100644
> > index b796836d2ce7..000000000000
> > --- a/Documentation/devicetree/bindings/usb/usbmisc-imx.txt
> > +++ /dev/null
> > @@ -1,18 +0,0 @@
> > -* Freescale i.MX non-core registers
> > -
> > -Required properties:
> > -- #index-cells: Cells used to describe usb controller index. Should
> > be <1>
> > -- compatible: Should be one of below:
> > - "fsl,imx6q-usbmisc" for imx6q
> > - "fsl,vf610-usbmisc" for Vybrid vf610
> > - "fsl,imx6sx-usbmisc" for imx6sx
> > - "fsl,imx7d-usbmisc" for imx7d
> > - "fsl,imx7ulp-usbmisc" for imx7ulp
> > -- reg: Should contain registers location and length
> > -
> > -Examples:
> > -usbmisc@2184800 {
> > - #index-cells = <1>;
> > - compatible = "fsl,imx6q-usbmisc";
> > - reg = <0x02184800 0x200>;
> > -};
> > diff --git a/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
>
> Filename: fsl,usbmisc.yaml
>
> > new file mode 100644
> > index 000000000000..c0741ce9b523
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/usb/usbmisc-imx.yaml
> > @@ -0,0 +1,52 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Fusb%2Fusbmisc-
> imx.yaml%23&amp;data=05%7C01%7Cp
> >
> +eng.fan%40nxp.com%7C8e789b7d73a645df2a5e08daac55e59c%7C686ea1
> d3bc2b4c
> >
> +6fa92cd99c5c301635%7C0%7C0%7C638011782161619006%7CUnknown%7
> CTWFpbGZsb
> >
> +3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> n0%3D
> >
> +%7C3000%7C%7C%7C&amp;sdata=zokmV96uHbH8kf6c%2BRhktNfjGOBsd
> %2BhhtrloJV
> > +vGuUI%3D&amp;reserved=0
> > +$schema:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cpeng.fan%
> >
> +40nxp.com%7C8e789b7d73a645df2a5e08daac55e59c%7C686ea1d3bc2b4c
> 6fa92cd9
> >
> +9c5c301635%7C0%7C0%7C638011782161775149%7CUnknown%7CTWFpb
> GZsb3d8eyJWI
> >
> +joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000%
> >
> +7C%7C%7C&amp;sdata=DFe%2BH5iWFF9yEKRiXzWnhqqXHK4zExiK%2F%2F
> gB1Ux8csg%
> > +3D&amp;reserved=0
> > +
> > +title: Freescale i.MX non-core registers
>
> non-core registers? Does not look right.

The txt binding has title: Freescale i.MX non-core registers,
so I just reuse it.

Thanks,
Peng.
>
>
> Best regards,
> Krzysztof

2022-10-14 03:55:12

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml

> Subject: Re: [PATCH 1/6] dt-bindings: usb: ci-hdrc-usb2: convert to yaml
>
> On 10/10/2022 06:18, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > Convert the binding to yaml format
> >
> > Signed-off-by: Peng Fan <[email protected]>
> > ---
> > .../devicetree/bindings/usb/ci-hdrc-usb2.txt | 158 ---------
> > .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 306 ++++++++++++++++++
> > 2 files changed, 306 insertions(+), 158 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> > create mode 100644
> > Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> > b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> > deleted file mode 100644
> > index ba51fb1252b9..000000000000
> > --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> > +++ /dev/null
> > @@ -1,158 +0,0 @@
> > -* USB2 ChipIdea USB controller for ci13xxx
> > -
> > -Required properties:
> > -- compatible: should be one of:
> > - "fsl,imx23-usb"
> > - "fsl,imx27-usb"
> > - "fsl,imx28-usb"
> > - "fsl,imx6q-usb"
> > - "fsl,imx6sl-usb"
> > - "fsl,imx6sx-usb"
> > - "fsl,imx6ul-usb"
> > - "fsl,imx7d-usb"
> > - "fsl,imx7ulp-usb"
> > - "lsi,zevio-usb"
> > - "qcom,ci-hdrc"
> > - "chipidea,usb2"
> > - "xlnx,zynq-usb-2.20a"
> > - "nvidia,tegra20-udc"
> > - "nvidia,tegra30-udc"
> > - "nvidia,tegra114-udc"
> > - "nvidia,tegra124-udc"
> > -- reg: base address and length of the registers
> > -- interrupts: interrupt for the USB controller
> > -
> > -Recommended properies:
> > -- phy_type: the type of the phy connected to the core. Should be one
> > - of "utmi", "utmi_wide", "ulpi", "serial" or "hsic". Without this
> > - property the PORTSC register won't be touched.
> > -- dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg"
> > -
> > -Deprecated properties:
> > -- usb-phy: phandle for the PHY device. Use "phys" instead.
> > -- fsl,usbphy: phandle of usb phy that connects to the port. Use "phys"
> instead.
> > -
> > -Optional properties:
> > -- clocks: reference to the USB clock
> > -- phys: reference to the USB PHY
> > -- phy-names: should be "usb-phy"
> > -- vbus-supply: reference to the VBUS regulator
> > -- maximum-speed: limit the maximum connection speed to "full-speed".
> > -- tpl-support: TPL (Targeted Peripheral List) feature for targeted
> > hosts
> > -- itc-setting: interrupt threshold control register control, the
> > setting
> > - should be aligned with ITC bits at register USBCMD.
> > -- ahb-burst-config: it is vendor dependent, the required value should
> > be
> > - aligned with AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This
> > - property is used to change AHB burst configuration, check the
> > chipidea
> > - spec for meaning of each value. If this property is not existed, it
> > - will use the reset value.
> > -- tx-burst-size-dword: it is vendor dependent, the tx burst size in
> > dword
> > - (4 bytes), This register represents the maximum length of a the
> > burst
> > - in 32-bit words while moving data from system memory to the USB
> > - bus, the value of this property will only take effect if property
> > - "ahb-burst-config" is set to 0, if this property is missing the
> > reset
> > - default of the hardware implementation will be used.
> > -- rx-burst-size-dword: it is vendor dependent, the rx burst size in
> > dword
> > - (4 bytes), This register represents the maximum length of a the
> > burst
> > - in 32-bit words while moving data from the USB bus to system
> > memory,
> > - the value of this property will only take effect if property
> > - "ahb-burst-config" is set to 0, if this property is missing the
> > reset
> > - default of the hardware implementation will be used.
> > -- extcon: phandles to external connector devices. First phandle
> > should point to
> > - external connector, which provide "USB" cable events, the second
> > should point
> > - to external connector device, which provide "USB-HOST" cable
> > events. If one
> > - of the external connector devices is not required, empty <0>
> > phandle should
> > - be specified.
> > -- phy-clkgate-delay-us: the delay time (us) between putting the PHY
> > into
> > - low power mode and gating the PHY clock.
> > -- non-zero-ttctrl-ttha: after setting this property, the value of
> > register
> > - ttctrl.ttha will be 0x7f; if not, the value will be 0x0, this is
> > the default
> > - value. It needs to be very carefully for setting this property, it
> > is
> > - recommended that consult with your IC engineer before setting this
> value.
> > - On the most of chipidea platforms, the "usage_tt" flag at RTL is 0,
> > so this
> > - property only affects siTD.
> > - If this property is not set, the max packet size is 1023 bytes, and
> > if
> > - the total of packet size for pervious transactions are more than
> > 256 bytes,
> > - it can't accept any transactions within this frame. The use case is
> > single
> > - transaction, but higher frame rate.
> > - If this property is set, the max packet size is 188 bytes, it can
> > handle
> > - more transactions than above case, it can accept transactions until
> > it
> > - considers the left room size within frame is less than 188 bytes,
> > software
> > - needs to make sure it does not send more than 90%
> > - maximum_periodic_data_per_frame. The use case is multiple
> > transactions, but
> > - less frame rate.
> > -- mux-controls: The mux control for toggling host/device output of
> > this
> > - controller. It's expected that a mux state of 0 indicates device
> > mode and a
> > - mux state of 1 indicates host mode.
> > -- mux-control-names: Shall be "usb_switch" if mux-controls is specified.
> > -- pinctrl-names: Names for optional pin modes in "default", "host",
> "device".
> > - In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
> > In this
> > - case, the "idle" state needs to pull down the data and strobe pin
> > - and the "active" state needs to pull up the strobe pin.
> > -- pinctrl-n: alternate pin modes
> > -
> > -i.mx specific properties
> > -- fsl,usbmisc: phandler of non-core register device, with one
> > - argument that indicate usb controller index
> > -- disable-over-current: disable over current detect
> > -- over-current-active-low: over current signal polarity is active low.
> > -- over-current-active-high: over current signal polarity is active high.
> > - It's recommended to specify the over current polarity.
> > -- power-active-high: power signal polarity is active high
> > -- external-vbus-divider: enables off-chip resistor divider for Vbus
> > -- samsung,picophy-pre-emp-curr-control: HS Transmitter Pre-Emphasis
> > Current
> > - Control. This signal controls the amount of current sourced to the
> > - USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition.
> > - The range is from 0x0 to 0x3, the default value is 0x1.
> > - Details can refer to TXPREEMPAMPTUNE0 bits of USBNC_n_PHY_CFG1.
> > -- samsung,picophy-dc-vol-level-adjust: HS DC Voltage Level Adjustment.
> > - Adjust the high-speed transmitter DC level voltage.
> > - The range is from 0x0 to 0xf, the default value is 0x3.
> > - Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
> > -
> > -Example:
> > -
> > - usb@f7ed0000 {
> > - compatible = "chipidea,usb2";
> > - reg = <0xf7ed0000 0x10000>;
> > - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
> > - clocks = <&chip CLKID_USB0>;
> > - phys = <&usb_phy0>;
> > - phy-names = "usb-phy";
> > - vbus-supply = <&reg_usb0_vbus>;
> > - itc-setting = <0x4>; /* 4 micro-frames */
> > - /* Incremental burst of unspecified length */
> > - ahb-burst-config = <0x0>;
> > - tx-burst-size-dword = <0x10>; /* 64 bytes */
> > - rx-burst-size-dword = <0x10>;
> > - extcon = <0>, <&usb_id>;
> > - phy-clkgate-delay-us = <400>;
> > - mux-controls = <&usb_switch>;
> > - mux-control-names = "usb_switch";
> > - };
> > -
> > -Example for HSIC:
> > -
> > - usb@2184400 {
> > - compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
> > - reg = <0x02184400 0x200>;
> > - interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
> > - clocks = <&clks IMX6QDL_CLK_USBOH3>;
> > - fsl,usbphy = <&usbphynop1>;
> > - fsl,usbmisc = <&usbmisc 2>;
> > - phy_type = "hsic";
> > - dr_mode = "host";
> > - ahb-burst-config = <0x0>;
> > - tx-burst-size-dword = <0x10>;
> > - rx-burst-size-dword = <0x10>;
> > - pinctrl-names = "idle", "active";
> > - pinctrl-0 = <&pinctrl_usbh2_idle>;
> > - pinctrl-1 = <&pinctrl_usbh2_active>;
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - usbnet: ethernet@1 {
> > - compatible = "usb424,9730";
> > - reg = <1>;
> > - };
> > - };
> > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > new file mode 100644
> > index 000000000000..1c10691c45f2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > @@ -0,0 +1,306 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Fusb%2Fci-hdrc-
> usb2.yaml%23&amp;data=05%7C01%7C
> >
> +peng.fan%40nxp.com%7C730bfc13b48e44f69cff08daac550e45%7C686ea1
> d3bc2b4
> >
> +c6fa92cd99c5c301635%7C0%7C0%7C638011778555556152%7CUnknown%
> 7CTWFpbGZs
> >
> +b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3
> >
> +D%7C3000%7C%7C%7C&amp;sdata=NkNmk8iE0PJIBf4nd4%2FzVeJc7BvQZ
> bKgSDPMeqX
> > +RBzE%3D&amp;reserved=0
> > +$schema:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=05%7C01%7Cpeng.fan%
> >
> +40nxp.com%7C730bfc13b48e44f69cff08daac550e45%7C686ea1d3bc2b4c6f
> a92cd9
> >
> +9c5c301635%7C0%7C0%7C638011778555712848%7CUnknown%7CTWFpb
> GZsb3d8eyJWI
> >
> +joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000%
> >
> +7C%7C%7C&amp;sdata=PRa5a5NBGffcTadY6hzRM%2BZbyUSGLfWKlGkKyu
> xjnJI%3D&a
> > +mp;reserved=0
> > +
> > +title: USB2 ChipIdea USB controller for ci13xxx Binding
> > +
> > +maintainers:
> > + - Greg Kroah-Hartman <[email protected]>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - enum:
> > + - chipidea,usb2
> > + - lsi,zevio-usb
> > + - nvidia,tegra20-udc
> > + - nvidia,tegra30-udc
> > + - nvidia,tegra114-udc
> > + - nvidia,tegra124-udc
> > + - qcom,ci-hdrc
> > + - items:
> > + - enum:
> > + - fsl,imx23-usb
> > + - fsl,imx25-usb
> > + - fsl,imx28-usb
> > + - fsl,imx6q-usb
> > + - fsl,imx6sl-usb
> > + - fsl,imx6sx-usb
> > + - fsl,imx6ul-usb
> > + - fsl,imx7d-usb
> > + - const: fsl,imx27-usb
> > + - items:
> > + - const: fsl,imx7ulp-usb
> > + - const: fsl,imx6ul-usb
> > + - items:
> > + - const: lsi,zevio-usb
>
> You already have this in first enum.
>
> > + - items:
> > + - const: xlnx,zynq-usb-2.20a
> > + - const: chipidea,usb2
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
>
> Your patches have several white-space issues.
>
> Don't send patches which fail checkpatch.
>
> > + clocks:
> > + maxItems: 2
> > +
> > + itc-setting:
> > + description:
> > + interrupt threshold control register control, the setting should be
> > + aligned with ITC bits at register USBCMD.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + ahb-burst-config:
> > + description:
> > + it is vendor dependent, the required value should be aligned with
> > + AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
> > + used to change AHB burst configuration, check the chipidea spec for
> > + meaning of each value. If this property is not existed, it will use
> > + the reset value.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + minimum: 0x0
> > + maximum: 0x7
> > +
> > + tx-burst-size-dword:
> > + description:
> > + it is vendor dependent, the tx burst size in dword (4 bytes), This
> > + register represents the maximum length of a the burst in 32-bit
> > + words while moving data from system memory to the USB bus, the
> value
> > + of this property will only take effect if property "ahb-burst-config"
> > + is set to 0, if this property is missing the reset default of the
> > + hardware implementation will be used.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + rx-burst-size-dword:
> > + description:
> > + it is vendor dependent, the rx burst size in dword (4 bytes), This
> > + register represents the maximum length of a the burst in 32-bit words
> > + while moving data from the USB bus to system memory, the value of
> > + this property will only take effect if property "ahb-burst-config"
> > + is set to 0, if this property is missing the reset default of the
> > + hardware implementation will be used.
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > + extcon:
> > + description: |
> > + Phandles to external connector devices. First phandle should point
> > + to external connector, which provide "USB" cable events, the second
> > + should point to external connector device, which provide "USB-HOST"
> > + cable events. If one of the external connector devices is not
> > + required, empty <0> phandle should be specified.
> > +
> > + phy-clkgate-delay-us:
> > + description: |
> > + The delay time (us) between putting the PHY into low power mode
> and
> > + gating the PHY clock.
> > +
> > + non-zero-ttctrl-ttha:
> > + description: |
> > + After setting this property, the value of register ttctrl.ttha
> > + will be 0x7f; if not, the value will be 0x0, this is the default
> > + value. It needs to be very carefully for setting this property, it
> > + is recommended that consult with your IC engineer before setting
> > + this value. On the most of chipidea platforms, the "usage_tt" flag
> > + at RTL is 0, so this property only affects siTD.
> > +
> > + If this property is not set, the max packet size is 1023 bytes, and
> > + if the total of packet size for pervious transactions are more than
> > + 256 bytes, it can't accept any transactions within this frame. The
> > + use case is single transaction, but higher frame rate.
> > +
> > + If this property is set, the max packet size is 188 bytes, it can
> > + handle more transactions than above case, it can accept transactions
> > + until it considers the left room size within frame is less than 188
> > + bytes, software needs to make sure it does not send more than 90%
> > + maximum_periodic_data_per_frame. The use case is multiple
> > + transactions, but less frame rate.
> > +
> > + mux-controls:
> > + description: |
> > + The mux control for toggling host/device output of this controller.
> > + It's expected that a mux state of 0 indicates device mode and a mux
> > + state of 1 indicates host mode.
> > +
> > + mux-control-names:
> > + description: Shall be "usb_switch" if mux-controls is specified.
>
> Just define the item here.
>
> > +
> > + pinctrl-names:
> > + description: |
> > + Names for optional pin modes in "default", "host", "device".
> > + In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
> > + In this case, the "idle" state needs to pull down the data and
> > + strobe pin and the "active" state needs to pull up the strobe pin.
>
> Describe the items. Otherwise this does not make much sense, because core
> allows it.

The allOf section has below restriction, I not understand well that still need to describe
items here?
- if:
properties:
phy_type:
const: hsic

required:
- phy_type
then:
properties:
pinctrl-names:
items:
- const: idle
- const: active
else:
properties:
pinctrl-names:
oneOf:
- items:
- const: default
- enum:
- host
- device
- items:
- const: default

Thanks,
Peng.
>
> > +
> > + pinctrl-0:
> > + maxItems: 1
> > +
> > + pinctrl-1:
> > + maxItems: 1
> > +
> > + phys:
> > + maxItems: 1
> > +
> > + phy-names:
> > + const: usb-phy
> > +
> > + vbus-supply:
> > + description: reference to the VBUS regulator.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > +
> > +allOf:
> > + - $ref: usb-drd.yaml#
> > + - $ref: usb-hcd.yaml#
> > + - if:
> > + properties:
> > + mux-controls:
> > + true
> > + then:
> > + properties:
> > + mux-control-names:
> > + const: usb_switch
> > + - if:
> > + properties:
> > + phy_type:
> > + const: hsic
> > +
> > + required:
> > + - phy_type
> > + then:
> > + properties:
> > + pinctrl-names:
> > + items:
> > + - const: idle
> > + - const: active
> > + else:
> > + properties:
> > + pinctrl-names:
> > + oneOf:
> > + - items:
> > + - const: default
> > + - enum:
> > + - host
> > + - device
> > + - items:
> > + - const: default
> > + - if:
> > + properties:
> > + compatible:
> > + enum:
> > + - fsl,imx23-usb
> > + - fsl,imx25-usb
> > + - fsl,imx27-usb
> > + - fsl,imx28-usb
> > + - fsl,imx6q-usb
> > + - fsl,imx6sl-usb
> > + - fsl,imx6sx-usb
> > + - fsl,imx6ul-usb
> > + - fsl,imx7d-usb
> > + - fsl,imx7ulp-usb
> > + then:
> > + properties:
> > + fsl,usbmisc:
>
> What's the type? Which other schema defined it?
>
> Same applies to several other properties - are you sure they are already
> defined by some other schema?
> > +...
>
> Best regards,
> Krzysztof