mbox series

[v2,00/30] phy: qcom,qmp: fix dt-bindings and deprecate lane suffix

Message ID 20220707134725.3512-1-johan+linaro@kernel.org
Headers show
Series phy: qcom,qmp: fix dt-bindings and deprecate lane suffix | expand

Message

Johan Hovold July 7, 2022, 1:46 p.m. UTC
When adding support for SC8280XP to the QMP PHY driver I noticed that
the PHY provider child node was not described by the current DT schema.

The SC8280XP PHYs also need a second fixed-divider PIPE clock
("pipediv2") and I didn't want to have to add a bogus "lane" suffix to
the clock name just to match the current "pipe0" name so I decided to
deprecate the unnecessary suffix in the current binding instead.

To be able to add the missing child-node schema and handle device
specifics like additional PIPE clocks, it quickly became obvious that
the binding needs to be split up.

This series clean up and fixes some issue with the current schema before
splitting it up in separate schemas for PCIe, UFS and USB and adding
missing parts like the child PHY provider nodes.

The MSM8996 PCIe PHY gets its own schema as this is the only non-combo
PHY that actually provides more than one PHY per IP block. Note that the
"lane" suffix is still unnecessary and misleading.

The final patches add support for the updated binding to the (recently
split up) PHY drivers. Included is also a related combo PHY cleanup.

Johan


Changes in v2
 - squash split + cleanup + example patches (Krzysztof)
 - deprecate clock-names instead of dropping suffix (Krzysztof)
 - deprecate reset-names instead of dropping suffix (Krzysztof)
 - flatten child reg if/then schemas (Krzysztof)
 - add back optional vddp-ref-clk to all bindings even though it likely
   only applies to MSM8996/98 UFS (Krzysztof)
 - add missing sc7180 schema to USB binding
 - misc clean ups
   - shorten or drop descriptions
   - drop quotes around $id and $schema (Krzysztof)
   - use maxItems with clock-output-names
   - combine two USB clock+reset schemas
 - add Reviewed-by/Acked-by tags


Johan Hovold (30):
  dt-bindings: phy: qcom,qmp: fix bogus clock-cells property
  dt-bindings: phy: qcom,qmp: sort compatible strings
  dt-bindings: phy: qcom,qmp: drop redundant descriptions
  dt-bindings: phy: qcom,qmp: fix child node description
  dt-bindings: phy: qcom,qmp: clean up descriptions
  dt-bindings: phy: qcom,qmp: clean up example
  dt-bindings: phy: qcom,qmp: drop child-node comment
  dt-bindings: phy: add qcom,msm8996-qmp-pcie-phy schema
  dt-bindings: phy: qcom,msm8996-qmp-pcie: add missing child node schema
  dt-bindings: phy: qcom,msm8996-qmp-pcie: deprecate PIPE clock names
  dt-bindings: phy: qcom,msm8996-qmp-pcie: deprecate reset names
  dt-bindings: phy: add QMP PCIe PHY schema
  dt-bindings: phy: qcom,qmp-pcie: add missing child node schema
  dt-bindings: phy: qcom,qmp-pcie: deprecate PIPE clock name
  dt-bindings: phy: add QMP UFS PHY schema
  dt-bindings: phy: qcom,qmp-ufs: add missing SM8450 clock
  dt-bindings: phy: qcom,qmp-ufs: add missing SM8150 power domain
  dt-bindings: phy: qcom,qmp-ufs: add missing child node schema
  dt-bindings: phy: add QMP USB PHY schema
  dt-bindings: phy: qcom,qmp-usb: add missing child node schema
  dt-bindings: phy: qcom,qmp-usb: deprecate PIPE clock name
  dt-bindings: phy: qcom,qmp-usb: add missing qcom,sc7180-qmp-usb3-phy
    schema
  dt-bindings: phy: qcom,qmp-usb3-dp: fix bogus clock-cells property
  dt-bindings: phy: qcom,qmp-usb3-dp: deprecate USB PIPE clock name
  phy: qcom-qmp-pcie: drop pipe clock lane suffix
  phy: qcom-qmp-combo: drop unused lane reset
  phy: qcom-qmp-combo: drop pipe clock lane suffix
  phy: qcom-qmp-pcie-msm8996: drop pipe clock lane suffix
  phy: qcom-qmp-pcie-msm8996: drop reset lane suffix
  phy: qcom-qmp-usb: drop pipe clock lane suffix

 .../phy/qcom,msm8996-qmp-pcie-phy.yaml        | 189 +++++++
 .../bindings/phy/qcom,qmp-pcie-phy.yaml       | 294 ++++++++++
 .../devicetree/bindings/phy/qcom,qmp-phy.yaml | 500 ------------------
 .../bindings/phy/qcom,qmp-ufs-phy.yaml        | 239 +++++++++
 .../bindings/phy/qcom,qmp-usb-phy.yaml        | 387 ++++++++++++++
 .../bindings/phy/qcom,qmp-usb3-dp-phy.yaml    |   8 +-
 drivers/phy/qualcomm/phy-qcom-qmp-combo.c     |   6 +-
 .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c  |   8 +-
 drivers/phy/qualcomm/phy-qcom-qmp-pcie.c      |   4 +-
 drivers/phy/qualcomm/phy-qcom-qmp-usb.c       |   4 +-
 10 files changed, 1115 insertions(+), 524 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-pcie-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/phy/qcom,qmp-pcie-phy.yaml
 delete mode 100644 Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/phy/qcom,qmp-ufs-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/phy/qcom,qmp-usb-phy.yaml

Comments

Johan Hovold July 14, 2022, 8:12 a.m. UTC | #1
On Thu, Jul 07, 2022 at 03:46:55PM +0200, Johan Hovold wrote:
> When adding support for SC8280XP to the QMP PHY driver I noticed that
> the PHY provider child node was not described by the current DT schema.
> 
> The SC8280XP PHYs also need a second fixed-divider PIPE clock
> ("pipediv2") and I didn't want to have to add a bogus "lane" suffix to
> the clock name just to match the current "pipe0" name so I decided to
> deprecate the unnecessary suffix in the current binding instead.
> 
> To be able to add the missing child-node schema and handle device
> specifics like additional PIPE clocks, it quickly became obvious that
> the binding needs to be split up.
> 
> This series clean up and fixes some issue with the current schema before
> splitting it up in separate schemas for PCIe, UFS and USB and adding
> missing parts like the child PHY provider nodes.
> 
> The MSM8996 PCIe PHY gets its own schema as this is the only non-combo
> PHY that actually provides more than one PHY per IP block. Note that the
> "lane" suffix is still unnecessary and misleading.
> 
> The final patches add support for the updated binding to the (recently
> split up) PHY drivers. Included is also a related combo PHY cleanup.
> 
> Johan
> 
> 
> Changes in v2
>  - squash split + cleanup + example patches (Krzysztof)
>  - deprecate clock-names instead of dropping suffix (Krzysztof)
>  - deprecate reset-names instead of dropping suffix (Krzysztof)
>  - flatten child reg if/then schemas (Krzysztof)
>  - add back optional vddp-ref-clk to all bindings even though it likely
>    only applies to MSM8996/98 UFS (Krzysztof)
>  - add missing sc7180 schema to USB binding
>  - misc clean ups
>    - shorten or drop descriptions
>    - drop quotes around $id and $schema (Krzysztof)
>    - use maxItems with clock-output-names
>    - combine two USB clock+reset schemas
>  - add Reviewed-by/Acked-by tags

Any further comments to this series?

Vinod, I noticed there was a conflict when rebasing on linux-next due to
commit 85d43a69db2d ("dt-bindings: phy: qcom,qmp: add IPQ8074 PCIe Gen3
PHY binding").

I'll send a v3 so you don't have to do the resolution, but I figured I'd
wait a bit in case there are any other changes that need to be made.

Johan
Krzysztof Kozlowski July 14, 2022, 9:31 a.m. UTC | #2
On 14/07/2022 10:12, Johan Hovold wrote:
> On Thu, Jul 07, 2022 at 03:46:55PM +0200, Johan Hovold wrote:
>> When adding support for SC8280XP to the QMP PHY driver I noticed that
>> the PHY provider child node was not described by the current DT schema.
>>
>> The SC8280XP PHYs also need a second fixed-divider PIPE clock
>> ("pipediv2") and I didn't want to have to add a bogus "lane" suffix to
>> the clock name just to match the current "pipe0" name so I decided to
>> deprecate the unnecessary suffix in the current binding instead.
>>
>> To be able to add the missing child-node schema and handle device
>> specifics like additional PIPE clocks, it quickly became obvious that
>> the binding needs to be split up.
>>
>> This series clean up and fixes some issue with the current schema before
>> splitting it up in separate schemas for PCIe, UFS and USB and adding
>> missing parts like the child PHY provider nodes.
>>
>> The MSM8996 PCIe PHY gets its own schema as this is the only non-combo
>> PHY that actually provides more than one PHY per IP block. Note that the
>> "lane" suffix is still unnecessary and misleading.
>>
>> The final patches add support for the updated binding to the (recently
>> split up) PHY drivers. Included is also a related combo PHY cleanup.
>>
>> Johan
>>
>>
>> Changes in v2
>>  - squash split + cleanup + example patches (Krzysztof)
>>  - deprecate clock-names instead of dropping suffix (Krzysztof)
>>  - deprecate reset-names instead of dropping suffix (Krzysztof)
>>  - flatten child reg if/then schemas (Krzysztof)
>>  - add back optional vddp-ref-clk to all bindings even though it likely
>>    only applies to MSM8996/98 UFS (Krzysztof)
>>  - add missing sc7180 schema to USB binding
>>  - misc clean ups
>>    - shorten or drop descriptions
>>    - drop quotes around $id and $schema (Krzysztof)
>>    - use maxItems with clock-output-names
>>    - combine two USB clock+reset schemas
>>  - add Reviewed-by/Acked-by tags
> 
> Any further comments to this series?
> 
> Vinod, I noticed there was a conflict when rebasing on linux-next due to
> commit 85d43a69db2d ("dt-bindings: phy: qcom,qmp: add IPQ8074 PCIe Gen3
> PHY binding").
> 

I got few comments. Apologies for a slow review, I am a bit overloaded.

Best regards,
Krzysztof
Johan Hovold July 14, 2022, 9:44 a.m. UTC | #3
On Thu, Jul 14, 2022 at 11:31:22AM +0200, Krzysztof Kozlowski wrote:
> On 14/07/2022 10:12, Johan Hovold wrote:

> > Any further comments to this series?
> > 
> > Vinod, I noticed there was a conflict when rebasing on linux-next due to
> > commit 85d43a69db2d ("dt-bindings: phy: qcom,qmp: add IPQ8074 PCIe Gen3
> > PHY binding").
> > 
> 
> I got few comments. Apologies for a slow review, I am a bit overloaded.

Heh, no worries. Review within a week is awesome.

Thanks for taking another look.

Johan