Commit 27182be9 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'phy-for-5.16' of...

Merge tag 'phy-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy into char-misc-next

Vinod writes:

phy-for-5.16

  - New support:
	- Kirin 970 PCIe PHY driver
	- Qualcomm QCM2290 USB2 and USB3 support

  - Updates:
        - Qualcomm synopsis phy driver updates
	- sc8180x PCIe update
	- cadence-torrent driver updates for output reference clock
	- stm32 phy tuning support

* tag 'phy-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (28 commits)
  phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe()
  phy: qcom-snps: Correct the FSEL_MASK
  phy: hisilicon: Add of_node_put() in phy-hisi-inno-usb2
  phy: qcom-qmp: another fix for the sc8180x PCIe definition
  phy: cadence-torrent: Add support to output received reference clock
  phy: cadence-torrent: Model reference clock driver as a clock to enable derived refclk
  dt-bindings: phy: cadence-torrent: Add clock IDs for derived and received refclk
  phy: cadence-torrent: Migrate to clk_hw based registration and OF APIs
  phy: ti: gmii-sel: check of_get_address() for failure
  dt-bindings: phy: qcom,qmp: IPQ6018 and IPQ8074 PCIe PHY require no supply
  phy: stm32: add phy tuning support
  dt-bindings: phy: phy-stm32-usbphyc: add optional phy tuning properties
  phy: stm32: restore utmi switch on resume
  dt-bindings: phy: rockchip: remove usb-phy fallback string for rk3066a/rk3188
  phy: qcom-qusb2: Fix a memory leak on probe
  phy: qcom-qmp: Add QCM2290 USB3 PHY support
  dt-bindings: phy: qcom,qmp: Add QCM2290 USB3 PHY
  phy: qcom-qusb2: Add missing vdd supply
  dt-bindings: phy: qcom,qusb2: Add missing vdd-supply
  phy: rockchip-inno-usb2: Make use of the helper function devm_add_action_or_reset()
  ...
parents db788e6b b4dc97ab
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -18,13 +18,21 @@ properties:
    const: brcm,ns-usb2-phy

  reg:
    items:
      - description: iomem address range of DMU (Device Management Unit)
    anyOf:
      - maxItems: 1
        description: PHY control register
      - maxItems: 1
        description: iomem address range of DMU (Device Management Unit)
        deprecated: true

  reg-names:
    items:
      - const: dmu

  brcm,syscon-clkset:
    description: phandle to syscon for clkset register
    $ref: /schemas/types.yaml#/definitions/phandle

  clocks:
    items:
      - description: USB PHY reference clock
@@ -39,20 +47,25 @@ properties:
required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - "#phy-cells"

oneOf:
  - required:
      - brcm,syscon-clkset
  - required:
      - reg-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/bcm-nsp.h>
    phy@1800c000 {
    phy@1800c164 {
        compatible = "brcm,ns-usb2-phy";
        reg = <0x1800c000 0x1000>;
        reg-names = "dmu";
        reg = <0x1800c164 0x4>;
        brcm,syscon-clkset = <&clkset>;
        clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
        clock-names = "phy-ref-clk";
        #phy-cells = <0>;
+129 −0
Original line number Diff line number Diff line
@@ -81,6 +81,119 @@ patternProperties:
        properties:
          vbus-supply: true

      # It can be necessary to adjust the PHY settings to compensate parasitics, which can be due
      # to USB connector/receptacle, routing, ESD protection component,... Here is the list of
      # all optional parameters to tune the interface of the PHY (HS for High-Speed, FS for Full-
      # Speed, LS for Low-Speed)

      st,current-boost-microamp:
        description: Current boosting in uA
        enum: [ 1000, 2000 ]

      st,no-lsfs-fb-cap:
        description: Disables the LS/FS feedback capacitor
        type: boolean

      st,decrease-hs-slew-rate:
        description: Decreases the HS driver slew rate by 10%
        type: boolean

      st,tune-hs-dc-level:
        description: |
          Tunes the HS driver DC level
          - <0> normal level
          - <1> increases the level by 5 to 7 mV
          - <2> increases the level by 10 to 14 mV
          - <3> decreases the level by 5 to 7 mV
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 3
        default: 0

      st,enable-fs-rftime-tuning:
        description: Enables the FS rise/fall tuning option
        type: boolean

      st,enable-hs-rftime-reduction:
        description: Enables the HS rise/fall reduction feature
        type: boolean

      st,trim-hs-current:
        description: |
          Controls HS driver current trimming for choke compensation
          - <0> = 18.87 mA target current / nominal + 0%
          - <1> = 19.165 mA target current / nominal + 1.56%
          - <2> = 19.46 mA target current / nominal + 3.12%
          - <3> = 19.755 mA target current / nominal + 4.68%
          - <4> = 20.05 mA target current / nominal + 6.24%
          - <5> = 20.345 mA target current / nominal + 7.8%
          - <6> = 20.64 mA target current / nominal + 9.36%
          - <7> = 20.935 mA target current / nominal + 10.92%
          - <8> = 21.23 mA target current / nominal + 12.48%
          - <9> = 21.525 mA target current / nominal + 14.04%
          - <10> = 21.82 mA target current / nominal + 15.6%
          - <11> = 22.115 mA target current / nominal + 17.16%
          - <12> = 22.458 mA target current / nominal + 19.01%
          - <13> = 22.755 mA target current / nominal + 20.58%
          - <14> = 23.052 mA target current / nominal + 22.16%
          - <15> = 23.348 mA target current / nominal + 23.73%
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 15
        default: 0

      st,trim-hs-impedance:
        description: |
          Controls HS driver impedance tuning for choke compensation
          - <0> = no impedance offset
          - <1> = reduce the impedance by 2 ohms
          - <2> = reduce the impedance by 4 ohms
          - <3> = reduce the impedance by 6 ohms
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 3
        default: 0

      st,tune-squelch-level:
        description: |
          Tunes the squelch DC threshold value
          - <0> = no shift in threshold
          - <1> = threshold shift by +7 mV
          - <2> = threshold shift by -5 mV
          - <3> = threshold shift by +14 mV
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 3
        default: 0

      st,enable-hs-rx-gain-eq:
        description: Enables the HS Rx gain equalizer
        type: boolean

      st,tune-hs-rx-offset:
        description: |
          Adjusts the HS Rx offset
          - <0> = no offset
          - <1> = offset of +5 mV
          - <2> = offset of +10 mV
          - <3> = offset of -5 mV
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 3
        default: 0

      st,no-hs-ftime-ctrl:
        description: Disables the HS fall time control of single ended signals during pre-emphasis
        type: boolean

      st,no-lsfs-sc:
        description: Disables the short circuit protection in LS/FS driver
        type: boolean

      st,enable-hs-tx-staggering:
        description: Enables the basic staggering in HS Tx mode
        type: boolean

    allOf:
      - if:
          properties:
@@ -137,6 +250,14 @@ examples:
            reg = <0>;
            phy-supply = <&vdd_usb>;
            #phy-cells = <0>;
            st,tune-hs-dc-level = <2>;
            st,enable-fs-rftime-tuning;
            st,enable-hs-rftime-reduction;
            st,trim-hs-current = <15>;
            st,trim-hs-impedance = <1>;
            st,tune-squelch-level = <3>;
            st,tune-hs-rx-offset = <2>;
            st,no-lsfs-sc;
            connector {
                compatible = "usb-a-connector";
                vbus-supply = <&vbus_sw>;
@@ -147,6 +268,14 @@ examples:
            reg = <1>;
            phy-supply = <&vdd_usb>;
            #phy-cells = <1>;
            st,tune-hs-dc-level = <2>;
            st,enable-fs-rftime-tuning;
            st,enable-hs-rftime-reduction;
            st,trim-hs-current = <15>;
            st,trim-hs-impedance = <1>;
            st,tune-squelch-level = <3>;
            st,tune-hs-rx-offset = <2>;
            st,no-lsfs-sc;
        };
    };
...
+59 −25
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Qualcomm QMP PHY controller

maintainers:
  - Manu Gautam <mgautam@codeaurora.org>
  - Vinod Koul <vkoul@kernel.org>

description:
  QMP phy controller supports physical layer functionality for a number of
@@ -27,6 +27,7 @@ properties:
      - qcom,msm8998-qmp-pcie-phy
      - qcom,msm8998-qmp-ufs-phy
      - qcom,msm8998-qmp-usb3-phy
      - qcom,qcm2290-qmp-usb3-phy
      - qcom,sc7180-qmp-usb3-phy
      - qcom,sc8180x-qmp-pcie-phy
      - qcom,sc8180x-qmp-ufs-phy
@@ -116,8 +117,6 @@ required:
  - clock-names
  - resets
  - reset-names
  - vdda-phy-supply
  - vdda-pll-supply

additionalProperties: false

@@ -150,6 +149,9 @@ allOf:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -176,6 +178,9 @@ allOf:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -204,6 +209,9 @@ allOf:
            - const: phy
            - const: common
            - const: cfg
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -233,6 +241,9 @@ allOf:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -253,6 +264,9 @@ allOf:
        reset-names:
          items:
            - const: ufsphy
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -278,34 +292,16 @@ allOf:
        reset-names:
          items:
            - const: ufsphy
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq8074-qmp-pcie-phy
    then:
      properties:
        clocks:
          items:
            - description: pipe clk.
        clock-names:
          items:
            - const: pipe_clk
        resets:
          items:
            - description: reset of phy block.
            - description: phy common block reset.
        reset-names:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq6018-qmp-pcie-phy
              - qcom,ipq8074-qmp-pcie-phy
    then:
      properties:
        clocks:
@@ -356,6 +352,9 @@ allOf:
        reset-names:
          items:
            - const: phy
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -387,6 +386,9 @@ allOf:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
@@ -414,6 +416,38 @@ allOf:
          items:
            - const: phy
            - const: common
      required:
        - vdda-phy-supply
        - vdda-pll-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcm2290-qmp-usb3-phy
    then:
      properties:
        clocks:
          items:
            - description: Phy config clock.
            - description: 19.2 MHz ref clk.
            - description: Phy common block aux clock.
        clock-names:
          items:
            - const: cfg_ahb
            - const: ref
            - const: com_aux
        resets:
          items:
            - description: phy_phy reset.
            - description: reset of phy block.
        reset-names:
          items:
            - const: phy_phy
            - const: phy
      required:
        - vdda-phy-supply
        - vdda-pll-supply

examples:
  - |
+7 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ properties:
              - qcom,ipq8074-qusb2-phy
              - qcom,msm8996-qusb2-phy
              - qcom,msm8998-qusb2-phy
              - qcom,qcm2290-qusb2-phy
              - qcom,sdm660-qusb2-phy
              - qcom,ipq6018-qusb2-phy
              - qcom,sm4250-qusb2-phy
@@ -50,6 +51,10 @@ properties:
      - const: ref
      - const: iface

  vdd-supply:
    description:
      Phandle to 0.9V regulator supply to PHY digital circuit.

  vdda-pll-supply:
    description:
      Phandle to 1.8V regulator supply to PHY refclk pll block.
@@ -156,6 +161,7 @@ required:
  - "#phy-cells"
  - clocks
  - clock-names
  - vdd-supply
  - vdda-pll-supply
  - vdda-phy-dpdm-supply
  - resets
@@ -174,6 +180,7 @@ examples:
                 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
        clock-names = "cfg_ahb", "ref";

        vdd-supply = <&pm8994_l28>;
        vdda-pll-supply = <&pm8994_l12>;
        vdda-phy-dpdm-supply = <&pm8994_l24>;

+4 −7
Original line number Diff line number Diff line
@@ -11,13 +11,10 @@ maintainers:

properties:
  compatible:
    oneOf:
      - const: rockchip,rk3288-usb-phy
      - items:
          - enum:
    enum:
      - rockchip,rk3066a-usb-phy
      - rockchip,rk3188-usb-phy
          - const: rockchip,rk3288-usb-phy
      - rockchip,rk3288-usb-phy

  "#address-cells":
    const: 1
Loading