| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/phy/fsl,imx8qm-hsio.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Freescale i.MX8QM SoC series High Speed IO(HSIO) SERDES PHY
- maintainers:
- - Richard Zhu <hongxing.zhu@nxp.com>
- properties:
- compatible:
- enum:
- - fsl,imx8qm-hsio
- - fsl,imx8qxp-hsio
- reg:
- items:
- - description: Base address and length of the PHY block
- - description: HSIO control and status registers(CSR) of the PHY
- - description: HSIO CSR of the controller bound to the PHY
- - description: HSIO CSR for MISC
- reg-names:
- items:
- - const: reg
- - const: phy
- - const: ctrl
- - const: misc
- "#phy-cells":
- const: 3
- description:
- The first defines lane index.
- The second defines the type of the PHY refer to the include phy.h.
- The third defines the controller index, indicated which controller
- is bound to the lane.
- clocks:
- minItems: 5
- maxItems: 14
- clock-names:
- minItems: 5
- maxItems: 14
- fsl,hsio-cfg:
- description: |
- Specifies the use case of the HSIO module in the hardware design.
- Regarding the design of i.MX8QM HSIO subsystem, HSIO module can be
- confiured as following three use cases.
- +---------------------------------------+
- | | i.MX8QM |
- |------------------|--------------------|
- | | Lane0| Lane1| Lane2|
- |------------------|------|------|------|
- | pciea-x2-sata | PCIEA| PCIEA| SATA |
- |------------------|------|------|------|
- | pciea-x2-pcieb | PCIEA| PCIEA| PCIEB|
- |------------------|------|------|------|
- | pciea-pcieb-sata | PCIEA| PCIEB| SATA |
- +---------------------------------------+
- $ref: /schemas/types.yaml#/definitions/string
- enum: [ pciea-x2-sata, pciea-x2-pcieb, pciea-pcieb-sata]
- default: pciea-pcieb-sata
- fsl,refclk-pad-mode:
- description:
- Specifies the mode of the refclk pad used. INPUT(PHY refclock is
- provided externally via the refclk pad) or OUTPUT(PHY refclock is
- derived from SoC internal source and provided on the refclk pad).
- This property not exists means unused(PHY refclock is derived from
- SoC internal source).
- $ref: /schemas/types.yaml#/definitions/string
- enum: [ input, output, unused ]
- default: unused
- power-domains:
- minItems: 1
- maxItems: 2
- required:
- - compatible
- - reg
- - reg-names
- - "#phy-cells"
- - clocks
- - clock-names
- - fsl,hsio-cfg
- allOf:
- - if:
- properties:
- compatible:
- contains:
- enum:
- - fsl,imx8qxp-hsio
- then:
- properties:
- clock-names:
- items:
- - const: pclk0
- - const: apb_pclk0
- - const: phy0_crr
- - const: ctl0_crr
- - const: misc_crr
- power-domains:
- maxItems: 1
- - if:
- properties:
- compatible:
- contains:
- enum:
- - fsl,imx8qm-hsio
- then:
- properties:
- clock-names:
- items:
- - const: pclk0
- - const: pclk1
- - const: apb_pclk0
- - const: apb_pclk1
- - const: pclk2
- - const: epcs_tx
- - const: epcs_rx
- - const: apb_pclk2
- - const: phy0_crr
- - const: phy1_crr
- - const: ctl0_crr
- - const: ctl1_crr
- - const: ctl2_crr
- - const: misc_crr
- power-domains:
- minItems: 2
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/imx8-clock.h>
- #include <dt-bindings/clock/imx8-lpcg.h>
- #include <dt-bindings/firmware/imx/rsrc.h>
- #include <dt-bindings/phy/phy-imx8-pcie.h>
- phy@5f1a0000 {
- compatible = "fsl,imx8qxp-hsio";
- reg = <0x5f1a0000 0x10000>,
- <0x5f120000 0x10000>,
- <0x5f140000 0x10000>,
- <0x5f160000 0x10000>;
- reg-names = "reg", "phy", "ctrl", "misc";
- clocks = <&phyx1_lpcg IMX_LPCG_CLK_0>,
- <&phyx1_lpcg IMX_LPCG_CLK_4>,
- <&phyx1_crr1_lpcg IMX_LPCG_CLK_4>,
- <&pcieb_crr3_lpcg IMX_LPCG_CLK_4>,
- <&misc_crr5_lpcg IMX_LPCG_CLK_4>;
- clock-names = "pclk0", "apb_pclk0", "phy0_crr", "ctl0_crr", "misc_crr";
- power-domains = <&pd IMX_SC_R_SERDES_1>;
- #phy-cells = <3>;
- fsl,hsio-cfg = "pciea-pcieb-sata";
- fsl,refclk-pad-mode = "input";
- };
- ...
|