Message ID | 20241015111018.2388913-2-xu.yang_2@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v8,1/3] phy: fsl-imx8mq-usb: add tca function driver for imx95 | expand |
Hello, Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > Add usb3 phy and controller nodes for imx95. > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > --- > Changes in v2: > - no changes > Changes in v3: > - no changes > Changes in v4: > - reorder nodes > Changes in v5: > - no changes > Changes in v6: > - rebase to latest > Changes in v7: > - no changes > Changes in v8: > - no changes > --- > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > index 03661e76550f..e3faa8462759 100644 > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > }; > }; > > + usb3: usb@4c010010 { > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > + reg = <0x0 0x4c010010 0x0 0x04>, > + <0x0 0x4c1f0000 0x0 0x20>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > + <&scmi_clk IMX95_CLK_32K>; > + clock-names = "hsio", "suspend"; > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > + status = "disabled"; > + > + usb3_dwc3: usb@4c100000 { > + compatible = "snps,dwc3"; > + reg = <0x0 0x4c100000 0x0 0x10000>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > + <&scmi_clk IMX95_CLK_24M>, > + <&scmi_clk IMX95_CLK_32K>; > + clock-names = "bus_early", "ref", "suspend"; > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > + phys = <&usb3_phy>, <&usb3_phy>; > + phy-names = "usb2-phy", "usb3-phy"; > + snps,gfladj-refclk-lpm-sel-quirk; > + snps,parkmode-disable-ss-quirk; Downstream kernel also configures > snps,tx-max-burst = /bits/ 8 <4>; > snps,tx-thr-num-pkt = /bits/ 8 <1>; is this not needed and omitted on purpose? Best regards, Alexander > + iommus = <&smmu 0xe>; > + }; > + }; > + > + usb3_phy: phy@4c1f0040 { > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > + reg = <0x0 0x4c1f0040 0x0 0x40>, > + <0x0 0x4c1fc000 0x0 0x100>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > + clock-names = "phy"; > + #phy-cells = <0>; > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > + orientation-switch; > + status = "disabled"; > + }; > + > pcie0: pcie@4c300000 { > compatible = "fsl,imx95-pcie"; > reg = <0 0x4c300000 0 0x10000>, >
Hi, another thing I just noticed. Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > Add usb3 phy and controller nodes for imx95. > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > --- > Changes in v2: > - no changes > Changes in v3: > - no changes > Changes in v4: > - reorder nodes > Changes in v5: > - no changes > Changes in v6: > - rebase to latest > Changes in v7: > - no changes > Changes in v8: > - no changes > --- > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > index 03661e76550f..e3faa8462759 100644 > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > }; > }; > > + usb3: usb@4c010010 { > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > + reg = <0x0 0x4c010010 0x0 0x04>, > + <0x0 0x4c1f0000 0x0 0x20>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > + <&scmi_clk IMX95_CLK_32K>; > + clock-names = "hsio", "suspend"; > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > + status = "disabled"; > + > + usb3_dwc3: usb@4c100000 { > + compatible = "snps,dwc3"; > + reg = <0x0 0x4c100000 0x0 0x10000>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > + <&scmi_clk IMX95_CLK_24M>, > + <&scmi_clk IMX95_CLK_32K>; > + clock-names = "bus_early", "ref", "suspend"; > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > + phys = <&usb3_phy>, <&usb3_phy>; > + phy-names = "usb2-phy", "usb3-phy"; > + snps,gfladj-refclk-lpm-sel-quirk; > + snps,parkmode-disable-ss-quirk; > + iommus = <&smmu 0xe>; > + }; > + }; > + > + usb3_phy: phy@4c1f0040 { > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > + reg = <0x0 0x4c1f0040 0x0 0x40>, > + <0x0 0x4c1fc000 0x0 0x100>; > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > + clock-names = "phy"; > + #phy-cells = <0>; > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > + orientation-switch; > + status = "disabled"; I got these dtbs check warnings: arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: phy@4c1f0040: 'oneOf' conditional failed, one must be fixed: 'port' is a required property 'ports' is a required property from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: phy@4c1f0040: Unevaluated properties are not allowed ('orientation-switch' was unexpected) from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# How am I supposed to specify a port when the usb3 is used in host mode, thus no USB Type-C connector and no 'port' OF-graph accordingly? Best regards, Alexander > + }; > + > pcie0: pcie@4c300000 { > compatible = "fsl,imx95-pcie"; > reg = <0 0x4c300000 0 0x10000>, >
On Wed, Oct 16, 2024 at 10:38:52AM +0200, Alexander Stein wrote: > Hello, > > Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > > Add usb3 phy and controller nodes for imx95. > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > > > --- > > Changes in v2: > > - no changes > > Changes in v3: > > - no changes > > Changes in v4: > > - reorder nodes > > Changes in v5: > > - no changes > > Changes in v6: > > - rebase to latest > > Changes in v7: > > - no changes > > Changes in v8: > > - no changes > > --- > > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > > 1 file changed, 43 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > > index 03661e76550f..e3faa8462759 100644 > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > > }; > > }; > > > > + usb3: usb@4c010010 { > > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > > + reg = <0x0 0x4c010010 0x0 0x04>, > > + <0x0 0x4c1f0000 0x0 0x20>; > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > + <&scmi_clk IMX95_CLK_32K>; > > + clock-names = "hsio", "suspend"; > > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > > + #address-cells = <2>; > > + #size-cells = <2>; > > + ranges; > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > > + status = "disabled"; > > + > > + usb3_dwc3: usb@4c100000 { > > + compatible = "snps,dwc3"; > > + reg = <0x0 0x4c100000 0x0 0x10000>; > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > + <&scmi_clk IMX95_CLK_24M>, > > + <&scmi_clk IMX95_CLK_32K>; > > + clock-names = "bus_early", "ref", "suspend"; > > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > > + phys = <&usb3_phy>, <&usb3_phy>; > > + phy-names = "usb2-phy", "usb3-phy"; > > + snps,gfladj-refclk-lpm-sel-quirk; > > + snps,parkmode-disable-ss-quirk; > > Downstream kernel also configures > > snps,tx-max-burst = /bits/ 8 <4>; > > snps,tx-thr-num-pkt = /bits/ 8 <1>; > > is this not needed and omitted on purpose? Yes, on purpose. The later newer soc doesn't need these properties. Thanks, Xu Yang
On Wed, Oct 16, 2024 at 10:53:50AM +0200, Alexander Stein wrote: > Hi, > > another thing I just noticed. > > Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > > Add usb3 phy and controller nodes for imx95. > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > > > --- > > Changes in v2: > > - no changes > > Changes in v3: > > - no changes > > Changes in v4: > > - reorder nodes > > Changes in v5: > > - no changes > > Changes in v6: > > - rebase to latest > > Changes in v7: > > - no changes > > Changes in v8: > > - no changes > > --- > > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > > 1 file changed, 43 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > > index 03661e76550f..e3faa8462759 100644 > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > > }; > > }; > > > > + usb3: usb@4c010010 { > > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > > + reg = <0x0 0x4c010010 0x0 0x04>, > > + <0x0 0x4c1f0000 0x0 0x20>; > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > + <&scmi_clk IMX95_CLK_32K>; > > + clock-names = "hsio", "suspend"; > > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > > + #address-cells = <2>; > > + #size-cells = <2>; > > + ranges; > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > > + status = "disabled"; > > + > > + usb3_dwc3: usb@4c100000 { > > + compatible = "snps,dwc3"; > > + reg = <0x0 0x4c100000 0x0 0x10000>; > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > + <&scmi_clk IMX95_CLK_24M>, > > + <&scmi_clk IMX95_CLK_32K>; > > + clock-names = "bus_early", "ref", "suspend"; > > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > > + phys = <&usb3_phy>, <&usb3_phy>; > > + phy-names = "usb2-phy", "usb3-phy"; > > + snps,gfladj-refclk-lpm-sel-quirk; > > + snps,parkmode-disable-ss-quirk; > > + iommus = <&smmu 0xe>; > > + }; > > + }; > > + > > + usb3_phy: phy@4c1f0040 { > > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > > + reg = <0x0 0x4c1f0040 0x0 0x40>, > > + <0x0 0x4c1fc000 0x0 0x100>; > > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > > + clock-names = "phy"; > > + #phy-cells = <0>; > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > + orientation-switch; > > + status = "disabled"; > > I got these dtbs check warnings: > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > phy@4c1f0040: 'oneOf' conditional failed, one must be fixed: > 'port' is a required property > 'ports' is a required property > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > phy@4c1f0040: Unevaluated properties are not allowed ('orientation-switch' was unexpected) > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# Are you checking on usb tree? You need below two dt-binding patch. - dt-bindings: usb: dwc3-imx8mp: add compatible string for imx95 - dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy" > > > How am I supposed to specify a port when the usb3 is used in host mode, thus > no USB Type-C connector and no 'port' OF-graph accordingly? Host-only mode with Type-A connector? No Typec-C connector? Sorry, I do not get your meaning. Thanks, Xu Yang
Hi, Am Mittwoch, 16. Oktober 2024, 12:41:40 CEST schrieb Xu Yang: > On Wed, Oct 16, 2024 at 10:53:50AM +0200, Alexander Stein wrote: > > Hi, > > > > another thing I just noticed. > > > > Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > > > Add usb3 phy and controller nodes for imx95. > > > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > > > > > --- > > > Changes in v2: > > > - no changes > > > Changes in v3: > > > - no changes > > > Changes in v4: > > > - reorder nodes > > > Changes in v5: > > > - no changes > > > Changes in v6: > > > - rebase to latest > > > Changes in v7: > > > - no changes > > > Changes in v8: > > > - no changes > > > --- > > > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > > > 1 file changed, 43 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > index 03661e76550f..e3faa8462759 100644 > > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > > > }; > > > }; > > > > > > + usb3: usb@4c010010 { > > > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > > > + reg = <0x0 0x4c010010 0x0 0x04>, > > > + <0x0 0x4c1f0000 0x0 0x20>; > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > + <&scmi_clk IMX95_CLK_32K>; > > > + clock-names = "hsio", "suspend"; > > > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > > > + #address-cells = <2>; > > > + #size-cells = <2>; > > > + ranges; > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > > > + status = "disabled"; > > > + > > > + usb3_dwc3: usb@4c100000 { > > > + compatible = "snps,dwc3"; > > > + reg = <0x0 0x4c100000 0x0 0x10000>; > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > + <&scmi_clk IMX95_CLK_24M>, > > > + <&scmi_clk IMX95_CLK_32K>; > > > + clock-names = "bus_early", "ref", "suspend"; > > > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > > > + phys = <&usb3_phy>, <&usb3_phy>; > > > + phy-names = "usb2-phy", "usb3-phy"; > > > + snps,gfladj-refclk-lpm-sel-quirk; > > > + snps,parkmode-disable-ss-quirk; > > > + iommus = <&smmu 0xe>; > > > + }; > > > + }; > > > + > > > + usb3_phy: phy@4c1f0040 { > > > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > > > + reg = <0x0 0x4c1f0040 0x0 0x40>, > > > + <0x0 0x4c1fc000 0x0 0x100>; > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > > > + clock-names = "phy"; > > > + #phy-cells = <0>; > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > + orientation-switch; > > > + status = "disabled"; > > > > I got these dtbs check warnings: > > > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > phy@4c1f0040: 'oneOf' conditional failed, one must be fixed: > > 'port' is a required property > > 'ports' is a required property > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > phy@4c1f0040: Unevaluated properties are not allowed ('orientation-switch' was unexpected) > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > Are you checking on usb tree? You need below two dt-binding patch. > > - dt-bindings: usb: dwc3-imx8mp: add compatible string for imx95 > - dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy" Yes, these patches are already in linux-next. I'm on next-20241016. > > > > > > How am I supposed to specify a port when the usb3 is used in host mode, thus > > no USB Type-C connector and no 'port' OF-graph accordingly? > > Host-only mode with Type-A connector? No Typec-C connector? > Sorry, I do not get your meaning. Yes, no Type-C connector. Actually not even a Type-A as there is an on-board USB hub attached to this host. Best regards, Alexander
On Wed, Oct 16, 2024 at 01:03:53PM +0200, Alexander Stein wrote: > Hi, > > Am Mittwoch, 16. Oktober 2024, 12:41:40 CEST schrieb Xu Yang: > > On Wed, Oct 16, 2024 at 10:53:50AM +0200, Alexander Stein wrote: > > > Hi, > > > > > > another thing I just noticed. > > > > > > Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > > > > Add usb3 phy and controller nodes for imx95. > > > > > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > > > > > > > --- > > > > Changes in v2: > > > > - no changes > > > > Changes in v3: > > > > - no changes > > > > Changes in v4: > > > > - reorder nodes > > > > Changes in v5: > > > > - no changes > > > > Changes in v6: > > > > - rebase to latest > > > > Changes in v7: > > > > - no changes > > > > Changes in v8: > > > > - no changes > > > > --- > > > > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > > > > 1 file changed, 43 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > index 03661e76550f..e3faa8462759 100644 > > > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > > > > }; > > > > }; > > > > > > > > + usb3: usb@4c010010 { > > > > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > > > > + reg = <0x0 0x4c010010 0x0 0x04>, > > > > + <0x0 0x4c1f0000 0x0 0x20>; > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > > + <&scmi_clk IMX95_CLK_32K>; > > > > + clock-names = "hsio", "suspend"; > > > > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > > > > + #address-cells = <2>; > > > > + #size-cells = <2>; > > > > + ranges; > > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > > > > + status = "disabled"; > > > > + > > > > + usb3_dwc3: usb@4c100000 { > > > > + compatible = "snps,dwc3"; > > > > + reg = <0x0 0x4c100000 0x0 0x10000>; > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > > + <&scmi_clk IMX95_CLK_24M>, > > > > + <&scmi_clk IMX95_CLK_32K>; > > > > + clock-names = "bus_early", "ref", "suspend"; > > > > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > > > > + phys = <&usb3_phy>, <&usb3_phy>; > > > > + phy-names = "usb2-phy", "usb3-phy"; > > > > + snps,gfladj-refclk-lpm-sel-quirk; > > > > + snps,parkmode-disable-ss-quirk; > > > > + iommus = <&smmu 0xe>; > > > > + }; > > > > + }; > > > > + > > > > + usb3_phy: phy@4c1f0040 { > > > > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > > > > + reg = <0x0 0x4c1f0040 0x0 0x40>, > > > > + <0x0 0x4c1fc000 0x0 0x100>; > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > > > > + clock-names = "phy"; > > > > + #phy-cells = <0>; > > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > > + orientation-switch; > > > > + status = "disabled"; > > > > > > I got these dtbs check warnings: > > > > > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > > phy@4c1f0040: 'oneOf' conditional failed, one must be fixed: > > > 'port' is a required property > > > 'ports' is a required property > > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > > phy@4c1f0040: Unevaluated properties are not allowed ('orientation-switch' was unexpected) > > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > > > Are you checking on usb tree? You need below two dt-binding patch. > > > > - dt-bindings: usb: dwc3-imx8mp: add compatible string for imx95 > > - dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy" > > Yes, these patches are already in linux-next. I'm on next-20241016. > > > > > > > > > > How am I supposed to specify a port when the usb3 is used in host mode, thus > > > no USB Type-C connector and no 'port' OF-graph accordingly? > > > > Host-only mode with Type-A connector? No Typec-C connector? > > Sorry, I do not get your meaning. > > Yes, no Type-C connector. Actually not even a Type-A as there is an > on-board USB hub attached to this host. Understood. imx95 usb phy can work w/o typec. So I may need modify the dt-binding to be similar to the following format: If property "orientation-switch" exist and compatible contain "fsl,imx95-usb-phy", then refer to usb-switch.yaml. However, I'm not sure how to do that now. Do you know? Thanks, Xu Yang
Hi, Am Donnerstag, 17. Oktober 2024, 12:28:11 CEST schrieb Xu Yang: > On Wed, Oct 16, 2024 at 01:03:53PM +0200, Alexander Stein wrote: > > Hi, > > > > Am Mittwoch, 16. Oktober 2024, 12:41:40 CEST schrieb Xu Yang: > > > On Wed, Oct 16, 2024 at 10:53:50AM +0200, Alexander Stein wrote: > > > > Hi, > > > > > > > > another thing I just noticed. > > > > > > > > Am Dienstag, 15. Oktober 2024, 13:10:17 CEST schrieb Xu Yang: > > > > > Add usb3 phy and controller nodes for imx95. > > > > > > > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com> > > > > > > > > > > --- > > > > > Changes in v2: > > > > > - no changes > > > > > Changes in v3: > > > > > - no changes > > > > > Changes in v4: > > > > > - reorder nodes > > > > > Changes in v5: > > > > > - no changes > > > > > Changes in v6: > > > > > - rebase to latest > > > > > Changes in v7: > > > > > - no changes > > > > > Changes in v8: > > > > > - no changes > > > > > --- > > > > > arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ > > > > > 1 file changed, 43 insertions(+) > > > > > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > > index 03661e76550f..e3faa8462759 100644 > > > > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > > > > > @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { > > > > > }; > > > > > }; > > > > > > > > > > + usb3: usb@4c010010 { > > > > > + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; > > > > > + reg = <0x0 0x4c010010 0x0 0x04>, > > > > > + <0x0 0x4c1f0000 0x0 0x20>; > > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > > > + <&scmi_clk IMX95_CLK_32K>; > > > > > + clock-names = "hsio", "suspend"; > > > > > + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; > > > > > + #address-cells = <2>; > > > > > + #size-cells = <2>; > > > > > + ranges; > > > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > > > + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; > > > > > + status = "disabled"; > > > > > + > > > > > + usb3_dwc3: usb@4c100000 { > > > > > + compatible = "snps,dwc3"; > > > > > + reg = <0x0 0x4c100000 0x0 0x10000>; > > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>, > > > > > + <&scmi_clk IMX95_CLK_24M>, > > > > > + <&scmi_clk IMX95_CLK_32K>; > > > > > + clock-names = "bus_early", "ref", "suspend"; > > > > > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > > > > > + phys = <&usb3_phy>, <&usb3_phy>; > > > > > + phy-names = "usb2-phy", "usb3-phy"; > > > > > + snps,gfladj-refclk-lpm-sel-quirk; > > > > > + snps,parkmode-disable-ss-quirk; > > > > > + iommus = <&smmu 0xe>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + usb3_phy: phy@4c1f0040 { > > > > > + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; > > > > > + reg = <0x0 0x4c1f0040 0x0 0x40>, > > > > > + <0x0 0x4c1fc000 0x0 0x100>; > > > > > + clocks = <&scmi_clk IMX95_CLK_HSIO>; > > > > > + clock-names = "phy"; > > > > > + #phy-cells = <0>; > > > > > + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; > > > > > + orientation-switch; > > > > > + status = "disabled"; > > > > > > > > I got these dtbs check warnings: > > > > > > > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > > > phy@4c1f0040: 'oneOf' conditional failed, one must be fixed: > > > > 'port' is a required property > > > > 'ports' is a required property > > > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > > > arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: > > > > phy@4c1f0040: Unevaluated properties are not allowed ('orientation-switch' was unexpected) > > > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml# > > > > > > Are you checking on usb tree? You need below two dt-binding patch. > > > > > > - dt-bindings: usb: dwc3-imx8mp: add compatible string for imx95 > > > - dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy" > > > > Yes, these patches are already in linux-next. I'm on next-20241016. > > > > > > > > > > > > > > How am I supposed to specify a port when the usb3 is used in host mode, thus > > > > no USB Type-C connector and no 'port' OF-graph accordingly? > > > > > > Host-only mode with Type-A connector? No Typec-C connector? > > > Sorry, I do not get your meaning. > > > > Yes, no Type-C connector. Actually not even a Type-A as there is an > > on-board USB hub attached to this host. > > Understood. imx95 usb phy can work w/o typec. So I may need modify the > dt-binding to be similar to the following format: > > If property "orientation-switch" exist and compatible contain "fsl,imx95-usb-phy", > then refer to usb-switch.yaml. What 'works' is adding an empty port node to the usb3_phy. But this feels like a workaround. > However, I'm not sure how to do that now. Do you know? DT guys, can you more input how to proceed? Best regards, Alexander
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi index 03661e76550f..e3faa8462759 100644 --- a/arch/arm64/boot/dts/freescale/imx95.dtsi +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi @@ -1473,6 +1473,49 @@ smmu: iommu@490d0000 { }; }; + usb3: usb@4c010010 { + compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3"; + reg = <0x0 0x4c010010 0x0 0x04>, + <0x0 0x4c1f0000 0x0 0x20>; + clocks = <&scmi_clk IMX95_CLK_HSIO>, + <&scmi_clk IMX95_CLK_32K>; + clock-names = "hsio", "suspend"; + interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <2>; + #size-cells = <2>; + ranges; + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; + dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; + status = "disabled"; + + usb3_dwc3: usb@4c100000 { + compatible = "snps,dwc3"; + reg = <0x0 0x4c100000 0x0 0x10000>; + clocks = <&scmi_clk IMX95_CLK_HSIO>, + <&scmi_clk IMX95_CLK_24M>, + <&scmi_clk IMX95_CLK_32K>; + clock-names = "bus_early", "ref", "suspend"; + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; + phys = <&usb3_phy>, <&usb3_phy>; + phy-names = "usb2-phy", "usb3-phy"; + snps,gfladj-refclk-lpm-sel-quirk; + snps,parkmode-disable-ss-quirk; + iommus = <&smmu 0xe>; + }; + }; + + usb3_phy: phy@4c1f0040 { + compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy"; + reg = <0x0 0x4c1f0040 0x0 0x40>, + <0x0 0x4c1fc000 0x0 0x100>; + clocks = <&scmi_clk IMX95_CLK_HSIO>; + clock-names = "phy"; + #phy-cells = <0>; + power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; + orientation-switch; + status = "disabled"; + }; + pcie0: pcie@4c300000 { compatible = "fsl,imx95-pcie"; reg = <0 0x4c300000 0 0x10000>,
Add usb3 phy and controller nodes for imx95. Signed-off-by: Xu Yang <xu.yang_2@nxp.com> --- Changes in v2: - no changes Changes in v3: - no changes Changes in v4: - reorder nodes Changes in v5: - no changes Changes in v6: - rebase to latest Changes in v7: - no changes Changes in v8: - no changes --- arch/arm64/boot/dts/freescale/imx95.dtsi | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+)