2023-01-21 11:30:48

by Robert Marko

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: nvmem: qfprom: add IPQ8074 compatible

Document IPQ8074 compatible for QFPROM, its compatible with the generic
QFPROM fallback.

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

diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
index 9ddf3cef9e84..2173fe82317d 100644
--- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
+++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
@@ -19,6 +19,7 @@ properties:
- qcom,apq8064-qfprom
- qcom,apq8084-qfprom
- qcom,ipq8064-qfprom
+ - qcom,ipq8074-qfprom
- qcom,msm8916-qfprom
- qcom,msm8974-qfprom
- qcom,msm8976-qfprom
--
2.39.1


2023-01-21 11:31:17

by Robert Marko

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node

IPQ8074 has efuses like other Qualcomm SoC-s that are required for
determining various HW quirks which will be required later for CPR etc,
so lets add the QFPROM node for start.

Individidual fuses will be added as they are required.

Signed-off-by: Robert Marko <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index 8eba586065a3..f29491f647fe 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -301,6 +301,13 @@ mdio: mdio@90000 {
status = "disabled";
};

+ qfprom: efuse@a4000 {
+ compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
+ reg = <0x000a4000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
prng: rng@e3000 {
compatible = "qcom,prng-ee";
reg = <0x000e3000 0x1000>;
--
2.39.1

2023-01-22 12:19:51

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: nvmem: qfprom: add IPQ8074 compatible

On 21/01/2023 12:23, Robert Marko wrote:
> Document IPQ8074 compatible for QFPROM, its compatible with the generic
> QFPROM fallback.
>
> Signed-off-by: Robert Marko <[email protected]>

Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof

2023-01-22 16:58:07

by Kathiravan Thirumoorthy

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node


On 1/21/2023 4:53 PM, Robert Marko wrote:
> IPQ8074 has efuses like other Qualcomm SoC-s that are required for
> determining various HW quirks which will be required later for CPR etc,
> so lets add the QFPROM node for start.
>
> Individidual fuses will be added as they are required.
>
> Signed-off-by: Robert Marko <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> index 8eba586065a3..f29491f647fe 100644
> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> @@ -301,6 +301,13 @@ mdio: mdio@90000 {
> status = "disabled";
> };
>
> + qfprom: efuse@a4000 {
> + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
> + reg = <0x000a4000 0x1000>;


From the HW document, I see the overall size of this region is 0x2000,
any reason to stick with 0x1000?

Thanks, Kathiravan T.


> + #address-cells = <1>;
> + #size-cells = <1>;
> + };
> +
> prng: rng@e3000 {
> compatible = "qcom,prng-ee";
> reg = <0x000e3000 0x1000>;

2023-01-22 16:59:38

by Robert Marko

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node

On Sun, 22 Jan 2023 at 17:57, Kathiravan Thirumoorthy
<[email protected]> wrote:
>
>
> On 1/21/2023 4:53 PM, Robert Marko wrote:
> > IPQ8074 has efuses like other Qualcomm SoC-s that are required for
> > determining various HW quirks which will be required later for CPR etc,
> > so lets add the QFPROM node for start.
> >
> > Individidual fuses will be added as they are required.
> >
> > Signed-off-by: Robert Marko <[email protected]>
> > ---
> > arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> > index 8eba586065a3..f29491f647fe 100644
> > --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> > @@ -301,6 +301,13 @@ mdio: mdio@90000 {
> > status = "disabled";
> > };
> >
> > + qfprom: efuse@a4000 {
> > + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
> > + reg = <0x000a4000 0x1000>;
>
>
> From the HW document, I see the overall size of this region is 0x2000,
> any reason to stick with 0x1000?

Like always, I dont have access to docs and 0x1000 is all I could find
downstream
being used.

Any chance you can share the regions inside of QFPROM, it would be great to use
the ECC corrected one if available.

Regards,
Robert
>
> Thanks, Kathiravan T.
>
>
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + };
> > +
> > prng: rng@e3000 {
> > compatible = "qcom,prng-ee";
> > reg = <0x000e3000 0x1000>;

2023-01-22 17:06:01

by Kathiravan Thirumoorthy

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node


On 1/22/2023 10:29 PM, Robert Marko wrote:
> On Sun, 22 Jan 2023 at 17:57, Kathiravan Thirumoorthy
> <[email protected]> wrote:
>>
>> On 1/21/2023 4:53 PM, Robert Marko wrote:
>>> IPQ8074 has efuses like other Qualcomm SoC-s that are required for
>>> determining various HW quirks which will be required later for CPR etc,
>>> so lets add the QFPROM node for start.
>>>
>>> Individidual fuses will be added as they are required.
>>>
>>> Signed-off-by: Robert Marko <[email protected]>
>>> ---
>>> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>> index 8eba586065a3..f29491f647fe 100644
>>> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>> @@ -301,6 +301,13 @@ mdio: mdio@90000 {
>>> status = "disabled";
>>> };
>>>
>>> + qfprom: efuse@a4000 {
>>> + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
>>> + reg = <0x000a4000 0x1000>;
>>
>> From the HW document, I see the overall size of this region is 0x2000,
>> any reason to stick with 0x1000?
> Like always, I dont have access to docs and 0x1000 is all I could find
> downstream
> being used.
>
> Any chance you can share the regions inside of QFPROM, it would be great to use
> the ECC corrected one if available.

Sorry, What do you refer by "ECC corrected" here?

Thanks, Kathiravan T.


>
> Regards,
> Robert
>> Thanks, Kathiravan T.
>>
>>
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> + };
>>> +
>>> prng: rng@e3000 {
>>> compatible = "qcom,prng-ee";
>>> reg = <0x000e3000 0x1000>;

2023-01-22 17:10:13

by Robert Marko

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node

On Sun, 22 Jan 2023 at 18:05, Kathiravan Thirumoorthy
<[email protected]> wrote:
>
>
> On 1/22/2023 10:29 PM, Robert Marko wrote:
> > On Sun, 22 Jan 2023 at 17:57, Kathiravan Thirumoorthy
> > <[email protected]> wrote:
> >>
> >> On 1/21/2023 4:53 PM, Robert Marko wrote:
> >>> IPQ8074 has efuses like other Qualcomm SoC-s that are required for
> >>> determining various HW quirks which will be required later for CPR etc,
> >>> so lets add the QFPROM node for start.
> >>>
> >>> Individidual fuses will be added as they are required.
> >>>
> >>> Signed-off-by: Robert Marko <[email protected]>
> >>> ---
> >>> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
> >>> 1 file changed, 7 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>> index 8eba586065a3..f29491f647fe 100644
> >>> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>> @@ -301,6 +301,13 @@ mdio: mdio@90000 {
> >>> status = "disabled";
> >>> };
> >>>
> >>> + qfprom: efuse@a4000 {
> >>> + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
> >>> + reg = <0x000a4000 0x1000>;
> >>
> >> From the HW document, I see the overall size of this region is 0x2000,
> >> any reason to stick with 0x1000?
> > Like always, I dont have access to docs and 0x1000 is all I could find
> > downstream
> > being used.
> >
> > Any chance you can share the regions inside of QFPROM, it would be great to use
> > the ECC corrected one if available.
>
> Sorry, What do you refer by "ECC corrected" here?

Isnt there a corrected region in the QFPROM meant for reading?
As far as I understand it's protected by FEC.

Regards,
Robert
>
> Thanks, Kathiravan T.
>
>
> >
> > Regards,
> > Robert
> >> Thanks, Kathiravan T.
> >>
> >>
> >>> + #address-cells = <1>;
> >>> + #size-cells = <1>;
> >>> + };
> >>> +
> >>> prng: rng@e3000 {
> >>> compatible = "qcom,prng-ee";
> >>> reg = <0x000e3000 0x1000>;

2023-01-23 04:44:42

by Kathiravan Thirumoorthy

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node


On 1/22/2023 10:39 PM, Robert Marko wrote:
> On Sun, 22 Jan 2023 at 18:05, Kathiravan Thirumoorthy
> <[email protected]> wrote:
>>
>> On 1/22/2023 10:29 PM, Robert Marko wrote:
>>> On Sun, 22 Jan 2023 at 17:57, Kathiravan Thirumoorthy
>>> <[email protected]> wrote:
>>>> On 1/21/2023 4:53 PM, Robert Marko wrote:
>>>>> IPQ8074 has efuses like other Qualcomm SoC-s that are required for
>>>>> determining various HW quirks which will be required later for CPR etc,
>>>>> so lets add the QFPROM node for start.
>>>>>
>>>>> Individidual fuses will be added as they are required.
>>>>>
>>>>> Signed-off-by: Robert Marko <[email protected]>
>>>>> ---
>>>>> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
>>>>> 1 file changed, 7 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>>>> index 8eba586065a3..f29491f647fe 100644
>>>>> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>>>> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
>>>>> @@ -301,6 +301,13 @@ mdio: mdio@90000 {
>>>>> status = "disabled";
>>>>> };
>>>>>
>>>>> + qfprom: efuse@a4000 {
>>>>> + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
>>>>> + reg = <0x000a4000 0x1000>;
>>>> From the HW document, I see the overall size of this region is 0x2000,
>>>> any reason to stick with 0x1000?
>>> Like always, I dont have access to docs and 0x1000 is all I could find
>>> downstream
>>> being used.
>>>
>>> Any chance you can share the regions inside of QFPROM, it would be great to use
>>> the ECC corrected one if available.
>> Sorry, What do you refer by "ECC corrected" here?
> Isnt there a corrected region in the QFPROM meant for reading?
> As far as I understand it's protected by FEC.


Yes, there are two regions for the QFPROM, the region which you used
here is the one used for reading and there is a error correction logic
for it and it is size is 8KB not 4KB.

Thanks, Kathiravan T.

>
> Regards,
> Robert
>> Thanks, Kathiravan T.
>>
>>
>>> Regards,
>>> Robert
>>>> Thanks, Kathiravan T.
>>>>
>>>>
>>>>> + #address-cells = <1>;
>>>>> + #size-cells = <1>;
>>>>> + };
>>>>> +
>>>>> prng: rng@e3000 {
>>>>> compatible = "qcom,prng-ee";
>>>>> reg = <0x000e3000 0x1000>;

2023-01-23 09:47:17

by Robert Marko

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: ipq8074: add QFPROM node

On Mon, 23 Jan 2023 at 05:44, Kathiravan Thirumoorthy
<[email protected]> wrote:
>
>
> On 1/22/2023 10:39 PM, Robert Marko wrote:
> > On Sun, 22 Jan 2023 at 18:05, Kathiravan Thirumoorthy
> > <[email protected]> wrote:
> >>
> >> On 1/22/2023 10:29 PM, Robert Marko wrote:
> >>> On Sun, 22 Jan 2023 at 17:57, Kathiravan Thirumoorthy
> >>> <[email protected]> wrote:
> >>>> On 1/21/2023 4:53 PM, Robert Marko wrote:
> >>>>> IPQ8074 has efuses like other Qualcomm SoC-s that are required for
> >>>>> determining various HW quirks which will be required later for CPR etc,
> >>>>> so lets add the QFPROM node for start.
> >>>>>
> >>>>> Individidual fuses will be added as they are required.
> >>>>>
> >>>>> Signed-off-by: Robert Marko <[email protected]>
> >>>>> ---
> >>>>> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 7 +++++++
> >>>>> 1 file changed, 7 insertions(+)
> >>>>>
> >>>>> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>>>> index 8eba586065a3..f29491f647fe 100644
> >>>>> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>>>> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> >>>>> @@ -301,6 +301,13 @@ mdio: mdio@90000 {
> >>>>> status = "disabled";
> >>>>> };
> >>>>>
> >>>>> + qfprom: efuse@a4000 {
> >>>>> + compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
> >>>>> + reg = <0x000a4000 0x1000>;
> >>>> From the HW document, I see the overall size of this region is 0x2000,
> >>>> any reason to stick with 0x1000?
> >>> Like always, I dont have access to docs and 0x1000 is all I could find
> >>> downstream
> >>> being used.
> >>>
> >>> Any chance you can share the regions inside of QFPROM, it would be great to use
> >>> the ECC corrected one if available.
> >> Sorry, What do you refer by "ECC corrected" here?
> > Isnt there a corrected region in the QFPROM meant for reading?
> > As far as I understand it's protected by FEC.
>
>
> Yes, there are two regions for the QFPROM, the region which you used
> here is the one used for reading and there is a error correction logic
> for it and it is size is 8KB not 4KB.

Ok, thanks for the info, I will expand the size to 0x2000 then in v2.

Regards,
Robert
>
> Thanks, Kathiravan T.
>
> >
> > Regards,
> > Robert
> >> Thanks, Kathiravan T.
> >>
> >>
> >>> Regards,
> >>> Robert
> >>>> Thanks, Kathiravan T.
> >>>>
> >>>>
> >>>>> + #address-cells = <1>;
> >>>>> + #size-cells = <1>;
> >>>>> + };
> >>>>> +
> >>>>> prng: rng@e3000 {
> >>>>> compatible = "qcom,prng-ee";
> >>>>> reg = <0x000e3000 0x1000>;