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
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]>
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
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
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
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
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
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]>
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
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]>
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]>
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]>
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]>
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]>