2022-05-07 11:08:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: nvmem: qfprom: add IPQ8064 and SDM630 compatibles

Document compatibles for QFPROM used on IPQ8064 and SDM630. They are
compatible with generic QFPROM fallback.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
index dede8892ee01..b4163086a5be 100644
--- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
+++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
@@ -18,6 +18,7 @@ properties:
- enum:
- qcom,apq8064-qfprom
- qcom,apq8084-qfprom
+ - qcom,ipq8064-qfprom
- qcom,msm8974-qfprom
- qcom,msm8916-qfprom
- qcom,msm8996-qfprom
@@ -25,6 +26,7 @@ properties:
- qcom,qcs404-qfprom
- qcom,sc7180-qfprom
- qcom,sc7280-qfprom
+ - qcom,sdm630-qfprom
- qcom,sdm845-qfprom
- const: qcom,qfprom

--
2.32.0



2022-05-09 01:56:33

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: nvmem: qfprom: add IPQ8064 and SDM630 compatibles

On Thu, 05 May 2022 13:37:57 +0200, Krzysztof Kozlowski wrote:
> Document compatibles for QFPROM used on IPQ8064 and SDM630. They are
> compatible with generic QFPROM fallback.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>

Acked-by: Rob Herring <[email protected]>

2022-05-09 02:16:59

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 6/6] arm64: dts: qcom: sdm630: correct QFPROM byte offsets

The NVMEM bindings expect that 'bits' property holds offset and size of
region within a byte, so it applies a constraint of <0, 7> for the
offset. Using 25 as HSTX trim offset is within 4-byte QFPROM word, but
outside of the byte:

sdm630-sony-xperia-nile-discovery.dtb: qfprom@780000: hstx-trim@240:bits:0:0: 25 is greater than the maximum of 7
sdm630-sony-xperia-nile-discovery.dtb: qfprom@780000: gpu-speed-bin@41a0:bits:0:0: 21 is greater than the maximum of 7

Align the offsets to match the bindings.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Not tested on SDM630 hardware, but similar behavior on SDM845 works
fine (although causes a read of 4 bytes instead of 1).
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index 505e10674cb6..c713aa6e7044 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -558,13 +558,13 @@ qfprom: qfprom@780000 {
#size-cells = <1>;

qusb2_hstx_trim: hstx-trim@240 {
- reg = <0x240 0x1>;
- bits = <25 3>;
+ reg = <0x243 0x1>;
+ bits = <1 3>;
};

gpu_speed_bin: gpu-speed-bin@41a0 {
- reg = <0x41a0 0x1>;
- bits = <21 7>;
+ reg = <0x41a2 0x1>;
+ bits = <5 7>;
};
};

--
2.32.0


2022-05-09 08:22:41

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 4/6] ARM: dts: qcom: apq8064: add unit addresses to QFPROM regions

QFPROM children have 'reg' so they must have unit address.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index d3cb099cb691..028d52b5d075 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -801,10 +801,10 @@ qfprom: qfprom@700000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
- tsens_calib: calib {
+ tsens_calib: calib@404 {
reg = <0x404 0x10>;
};
- tsens_backup: backup_calib {
+ tsens_backup: backup_calib@414 {
reg = <0x414 0x10>;
};
};
--
2.32.0


2022-05-09 09:49:03

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 3/6] ARM: dts: qcom: cleanup QFPROM nodes

Cleanup coding style of QFPROM nodes - put compatible as first property
and drop tabs before '=' character.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 6 +++---
arch/arm/boot/dts/qcom-apq8084.dtsi | 4 ++--
arch/arm/boot/dts/qcom-msm8974.dtsi | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 3bf870b7de00..d3cb099cb691 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -797,9 +797,9 @@ ref_muxoff: adc-channel@f {

qfprom: qfprom@700000 {
compatible = "qcom,apq8064-qfprom", "qcom,qfprom";
- reg = <0x00700000 0x1000>;
- #address-cells = <1>;
- #size-cells = <1>;
+ reg = <0x00700000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
ranges;
tsens_calib: calib {
reg = <0x404 0x10>;
diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi
index 503b4ae9fb1a..cb01faa23eb7 100644
--- a/arch/arm/boot/dts/qcom-apq8084.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8084.dtsi
@@ -240,10 +240,10 @@ apcs: syscon@f9011000 {
};

qfprom: qfprom@fc4bc000 {
- #address-cells = <1>;
- #size-cells = <1>;
compatible = "qcom,apq8084-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
tsens_calib: calib@d0 {
reg = <0xd0 0x18>;
};
diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 5d2ab5ceb65c..df49be66d0b8 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -1118,10 +1118,10 @@ restart@fc4ab000 {
};

qfprom: qfprom@fc4bc000 {
- #address-cells = <1>;
- #size-cells = <1>;
compatible = "qcom,msm8974-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
tsens_calib: calib@d0 {
reg = <0xd0 0x18>;
};
--
2.32.0


2022-05-09 09:54:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/6] ARM: dts: qcom: use dedicated QFPROM compatibles

Use dedicated compatibles for QFPROM on APQ8064, IPQ8064 and MSM9874,
which is expected by the bindings.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 2 +-
arch/arm/boot/dts/qcom-apq8084.dtsi | 2 +-
arch/arm/boot/dts/qcom-ipq8064.dtsi | 2 +-
arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 34c0ba7fa358..3bf870b7de00 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -796,7 +796,7 @@ ref_muxoff: adc-channel@f {
};

qfprom: qfprom@700000 {
- compatible = "qcom,qfprom";
+ compatible = "qcom,apq8064-qfprom", "qcom,qfprom";
reg = <0x00700000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi
index da50a1a0197f..503b4ae9fb1a 100644
--- a/arch/arm/boot/dts/qcom-apq8084.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8084.dtsi
@@ -242,7 +242,7 @@ apcs: syscon@f9011000 {
qfprom: qfprom@fc4bc000 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "qcom,qfprom";
+ compatible = "qcom,apq8084-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
tsens_calib: calib@d0 {
reg = <0xd0 0x18>;
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index 808ea1862283..b3c0d140e6a0 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -723,7 +723,7 @@ qcom,ssbi@500000 {
};

qfprom: qfprom@700000 {
- compatible = "qcom,qfprom";
+ compatible = "qcom,ipq8064-qfprom", "qcom,qfprom";
reg = <0x00700000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 814ad0b46232..5d2ab5ceb65c 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -1120,7 +1120,7 @@ restart@fc4ab000 {
qfprom: qfprom@fc4bc000 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "qcom,qfprom";
+ compatible = "qcom,msm8974-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
tsens_calib: calib@d0 {
reg = <0xd0 0x18>;
--
2.32.0


2022-06-20 19:22:15

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/6] ARM: dts: qcom: use dedicated QFPROM compatibles

On 05/05/2022 13:37, Krzysztof Kozlowski wrote:
> Use dedicated compatibles for QFPROM on APQ8064, IPQ8064 and MSM9874,
> which is expected by the bindings.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> arch/arm/boot/dts/qcom-apq8064.dtsi | 2 +-
> arch/arm/boot/dts/qcom-apq8084.dtsi | 2 +-
> arch/arm/boot/dts/qcom-ipq8064.dtsi | 2 +-
> arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>

I'll take the bindings (patch #1) but what about DTS here? Any comments?


Best regards,
Krzysztof

2022-06-20 19:43:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/6] dt-bindings: nvmem: qfprom: add IPQ8064 and SDM630 compatibles

On Thu, 5 May 2022 13:37:57 +0200, Krzysztof Kozlowski wrote:
> Document compatibles for QFPROM used on IPQ8064 and SDM630. They are
> compatible with generic QFPROM fallback.
>
>

Applied, thanks!

[1/6] dt-bindings: nvmem: qfprom: add IPQ8064 and SDM630 compatibles
https://git.kernel.org/krzk/linux-dt/c/7e03a2c01ca378a52ac33c288bdfddb245ee2b7a

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-22 08:19:25

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/6] ARM: dts: qcom: use dedicated QFPROM compatibles

On 20/06/2022 21:11, Krzysztof Kozlowski wrote:
> On 05/05/2022 13:37, Krzysztof Kozlowski wrote:
>> Use dedicated compatibles for QFPROM on APQ8064, IPQ8064 and MSM9874,
>> which is expected by the bindings.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>> arch/arm/boot/dts/qcom-apq8064.dtsi | 2 +-
>> arch/arm/boot/dts/qcom-apq8084.dtsi | 2 +-
>> arch/arm/boot/dts/qcom-ipq8064.dtsi | 2 +-
>> arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +-
>> 4 files changed, 4 insertions(+), 4 deletions(-)
>>
>
> I'll take the bindings (patch #1) but what about DTS here? Any comments?

Then I assume there is no problem me taking it.


Best regards,
Krzysztof

2022-06-22 08:39:04

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 2/6] ARM: dts: qcom: use dedicated QFPROM compatibles

On Thu, 5 May 2022 13:37:58 +0200, Krzysztof Kozlowski wrote:
> Use dedicated compatibles for QFPROM on APQ8064, IPQ8064 and MSM9874,
> which is expected by the bindings.
>
>

Applied, thanks!

[2/6] ARM: dts: qcom: use dedicated QFPROM compatibles
https://git.kernel.org/krzk/linux/c/ed07c2af405fd6f7508997a3b55a74e1d16f467c

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-22 08:54:29

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 6/6] arm64: dts: qcom: sdm630: correct QFPROM byte offsets

On Thu, 5 May 2022 13:38:02 +0200, Krzysztof Kozlowski wrote:
> The NVMEM bindings expect that 'bits' property holds offset and size of
> region within a byte, so it applies a constraint of <0, 7> for the
> offset. Using 25 as HSTX trim offset is within 4-byte QFPROM word, but
> outside of the byte:
>
> sdm630-sony-xperia-nile-discovery.dtb: qfprom@780000: hstx-trim@240:bits:0:0: 25 is greater than the maximum of 7
> sdm630-sony-xperia-nile-discovery.dtb: qfprom@780000: gpu-speed-bin@41a0:bits:0:0: 21 is greater than the maximum of 7
>
> [...]

Applied, thanks!

[6/6] arm64: dts: qcom: sdm630: correct QFPROM byte offsets
https://git.kernel.org/krzk/linux/c/b4e7bcc945c6b8f3131460b94e28ff4bed23f847

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-22 08:56:45

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 4/6] ARM: dts: qcom: apq8064: add unit addresses to QFPROM regions

On Thu, 5 May 2022 13:38:00 +0200, Krzysztof Kozlowski wrote:
> QFPROM children have 'reg' so they must have unit address.
>
>

Applied, thanks!

[4/6] ARM: dts: qcom: apq8064: add unit addresses to QFPROM regions
https://git.kernel.org/krzk/linux/c/439e49349c146c0965bd6c9e214c2b703119108f

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-22 09:31:55

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 3/6] ARM: dts: qcom: cleanup QFPROM nodes

On Thu, 5 May 2022 13:37:59 +0200, Krzysztof Kozlowski wrote:
> Cleanup coding style of QFPROM nodes - put compatible as first property
> and drop tabs before '=' character.
>
>

Applied, thanks!

[3/6] ARM: dts: qcom: cleanup QFPROM nodes
https://git.kernel.org/krzk/linux/c/d7b50df0b8d12fc0742be4170054f0c87bedac91

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-07-03 04:35:50

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/6] dt-bindings: nvmem: qfprom: add IPQ8064 and SDM630 compatibles

On Thu, 5 May 2022 13:37:57 +0200, Krzysztof Kozlowski wrote:
> Document compatibles for QFPROM used on IPQ8064 and SDM630. They are
> compatible with generic QFPROM fallback.
>
>

Applied, thanks!

[5/6] arm64: dts: qcom: use dedicated QFPROM compatibles
commit: b2eab35be13d4537eb9f0e23846f2ab400bf63dd
[6/6] arm64: dts: qcom: sdm630: correct QFPROM byte offsets
commit: 74b0fbd6048f8f4caaed712ceeca52c6034e9ad6

Best regards,
--
Bjorn Andersson <[email protected]>