Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Luca Weiss <> | Subject | Re: [PATCH] ARM: dts: qcom: msm8974: correct qfprom node reg | Date | Mon, 30 Jan 2023 21:37:29 +0100 |
| |
On Montag, 30. Jänner 2023 19:42:51 CET Konrad Dybcio wrote: > On 30.01.2023 19:36, Luca Weiss wrote: > > On Montag, 30. Jänner 2023 19:30:04 CET Konrad Dybcio wrote: > >> On 30.01.2023 19:20, luca@z3ntu.xyz wrote: > >>> From: Craig Tatlor <ctatlor97@gmail.com> > >>> > >>> The qfprom actually starts at 0xfc4b8000 instead of 0xfc4bc000 as > >>> defined previously. Adjust the tsens offsets accordingly. > >>> > >>> [luca@z3ntu.xyz: extract to standalone patch] > >>> > >>> Fixes: c59ffb519357 ("arm: dts: msm8974: Add thermal zones, tsens and > >>> qfprom nodes") Signed-off-by: Craig Tatlor <ctatlor97@gmail.com> > >>> Signed-off-by: Luca Weiss <luca@z3ntu.xyz> > >>> --- > >> > >> Isn't this a raw vs ecc-corrected values problem? > > > > Not quite sure what you mean. > > The QFPROM is split into two parts: one where raw values > are stored, and the other one where ECC-corrected copies > of them reside. Usually it's at offset of 0x4000. We should > generally be using the ECC-corrected ones, because.. well.. > they are ECC-corrected.. You may want to check if the > fuse you're adding reads the same value at +0x4000.
Yeah that actually seems to work...
But downstream's using this +0x4000 only for tsens it seems
<0xfc4bc000 0x1000> as "tsens_eeprom_physical"
qcom,clock-krait-8974 is using this:
<0xfc4b80b0 0x08> as "efuse"
Also seems HDMI driver is using a mix for HDCP stuff
drivers/video/msm/mdss/mdss_hdmi_util.h:
/* QFPROM Registers for HDMI/HDCP */ #define QFPROM_RAW_FEAT_CONFIG_ROW0_LSB (0x000000F8) #define QFPROM_RAW_FEAT_CONFIG_ROW0_MSB (0x000000FC) #define HDCP_KSV_LSB (0x000060D8) #define HDCP_KSV_MSB (0x000060DC)
Any clue why Qualcomm used it this way in downstream? I'd rather not deviate too much if not for a good reason...
Regards Luca
> > Konrad > > > The original intention behind this patch is to allow to use the pvs fuse > > at > > (now) 0xb0 which was inaccessible with the former definition. > > > > pvs: pvs@b0 { > > > > reg = <0xb0 0x8>; > > > > }; > > > > Regards > > Luca > > > >> Konrad > >> > >>> arch/arm/boot/dts/qcom-msm8974.dtsi | 12 ++++++------ > >>> 1 file changed, 6 insertions(+), 6 deletions(-) > >>> > >>> diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi > >>> b/arch/arm/boot/dts/qcom-msm8974.dtsi index 8d216a3c0851..922d235c6065 > >>> 100644 > >>> --- a/arch/arm/boot/dts/qcom-msm8974.dtsi > >>> +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi > >>> @@ -1132,16 +1132,16 @@ restart@fc4ab000 { > >>> > >>> reg = <0xfc4ab000 0x4>; > >>> > >>> }; > >>> > >>> - qfprom: qfprom@fc4bc000 { > >>> + qfprom: qfprom@fc4b8000 { > >>> > >>> compatible = "qcom,msm8974-qfprom", > > > > "qcom,qfprom"; > > > >>> - reg = <0xfc4bc000 0x1000>; > >>> + reg = <0xfc4b8000 0x7000>; > >>> > >>> #address-cells = <1>; > >>> #size-cells = <1>; > >>> > >>> - tsens_calib: calib@d0 { > >>> - reg = <0xd0 0x18>; > >>> + tsens_calib: calib@40d0 { > >>> + reg = <0x40d0 0x18>; > >>> > >>> }; > >>> > >>> - tsens_backup: backup@440 { > >>> - reg = <0x440 0x10>; > >>> + tsens_backup: backup@4440 { > >>> + reg = <0x4440 0x10>; > >>> > >>> }; > >>> > >>> }; > >>> > >>> --- > >>> base-commit: 6d796c50f84ca79f1722bb131799e5a5710c4700 > >>> change-id: 20230130-msm8974-qfprom-619c0e8f26eb > >>> > >>> Best regards,
| ![\](/images/icornerr.gif) |