[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e9265770-784a-4682-b3b3-bace88aef36c@kernel.org>
Date: Sun, 6 Apr 2025 14:21:47 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Pengyu Luo <mitltlatltl@...il.com>, Bjorn Andersson
<andersson@...nel.org>, Konrad Dybcio <konradybcio@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Vinod Koul <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-phy@...ts.infradead.org
Subject: Re: [PATCH] phy: qualcomm: phy-qcom-eusb2-repeater: rework reg
override handler
On 05/04/2025 19:43, Pengyu Luo wrote:
> In downstream tree, many registers need to be overrided, it varies
> from devices and platforms, not only HS trasmit amplitude(0x51),
> HS disconnect threshold(0x53), Tx pre-emphasis tuning(0x57).
>
> The device I plan to upstream also uses it, so I write the patch for
> it (Oneplus Pad Pro / Oneplus Pad 2, sm8650-mtp based).
>
> In upstream, only Sony Xperia 1 V is using this, so fixing it for sony,
> in downstream, some crd, mtp, htk devices also use it, I have no
> such device, don't set it for them.
>
> Signed-off-by: Pengyu Luo <mitltlatltl@...il.com>
> ---
> .../qcom/sm8550-sony-xperia-yodo-pdx234.dts | 5 +-
> .../phy/qualcomm/phy-qcom-eusb2-repeater.c | 86 +++++++++++++++----
DTS is always separate patch.
> 2 files changed, 72 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts b/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
> index d90dc7b37..99f5fd32c 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
> @@ -673,9 +673,8 @@ cam_pwr_a_cs: cam-pwr-a-cs-state {
> };
>
> &pm8550b_eusb2_repeater {
> - qcom,tune-usb2-disc-thres = /bits/ 8 <0x6>;
> - qcom,tune-usb2-amplitude = /bits/ 8 <0xf>;
> - qcom,tune-usb2-preem = /bits/ 8 <0x7>;
> + qcom,param-override-seq = <0x51 0x08 0x53 0x06 0x57 0x07>;
> + qcom,host-param-override-seq = <0x51 0x08 0x53 0x06 0x57 0x07>;
There are no such properties.
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Maybe you need to update your dtschema and yamllint. Don't rely on
distro packages for dtschema and be sure you are using the latest
released dtschema.
> vdd18-supply = <&pm8550_l15>;
> vdd3-supply = <&pm8550_l5>;
> };
...
> +
> static int eusb2_repeater_init_vregs(struct eusb2_repeater *rptr)
> {
> int num = rptr->cfg->num_vregs;
> @@ -127,20 +189,12 @@ static int eusb2_repeater_init_vregs(struct eusb2_repeater *rptr)
> static int eusb2_repeater_init(struct phy *phy)
> {
> struct eusb2_repeater *rptr = phy_get_drvdata(phy);
> - struct device_node *np = rptr->dev->of_node;
> struct regmap *regmap = rptr->regmap;
> const u32 *init_tbl = rptr->cfg->init_tbl;
> - u8 tune_usb2_preem = init_tbl[TUNE_USB2_PREEM];
> - u8 tune_hsdisc = init_tbl[TUNE_HSDISC];
> - u8 tune_iusb2 = init_tbl[TUNE_IUSB2];
> u32 base = rptr->base;
> u32 val;
> int ret;
>
> - of_property_read_u8(np, "qcom,tune-usb2-amplitude", &tune_iusb2);
> - of_property_read_u8(np, "qcom,tune-usb2-disc-thres", &tune_hsdisc);
> - of_property_read_u8(np, "qcom,tune-usb2-preem", &tune_usb2_preem);
NAK, that's an ABI break.
Best regards,
Krzysztof
Powered by blists - more mailing lists