platform/kernel/linux-starfive.git
14 months agoarm64: dts: qcom: msm8939-pm8916: Mark always-on regulators
Stephan Gerhold [Wed, 14 Jun 2023 07:16:06 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939-pm8916: Mark always-on regulators

Some of the regulators must be always-on to ensure correct operation of
the system, e.g. PM8916 L2 for the LPDDR RAM, L5 for most digital I/O
and L7 for the CPU PLL (strictly speaking the CPU PLL might only need
an active-only vote but this is not supported for regulators in
mainline currently).

The RPM firmware seems to enforce that internally, these supplies stay
on even if we vote for them to power off (and there is no other
processor running). This means it's pointless to keep sending
enable/disable requests because they will just be ignored.
Also, drivers are much more likely to get a wrong impression of the
regulator status, because regulator_is_enabled() will return false when
there are no users, even though the regulator is always on.

Describe this properly by marking the regulators as always-on.

The same changes was already made for MSM8916 in commit 8bbd35771f90
("arm64: dts: qcom: msm8916-pm8916: Mark always-on regulators").

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-8-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939: Define regulator constraints next to usage
Stephan Gerhold [Wed, 14 Jun 2023 07:16:05 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939: Define regulator constraints next to usage

Right now each MSM8939 device has a huge block of regulator constraints
with allowed voltages for each regulator. For lack of better
documentation these voltages are often copied as-is from the vendor
device tree, without much extra thought.

Unfortunately, the voltages in the vendor device trees are often
misleading or even wrong, e.g. because:

 - There is a large voltage range allowed and the actual voltage is
   only set somewhere hidden in some messy vendor driver. This is often
   the case for pm8916_{l14,l15,l16} because they have a broad range of
   1.8-3.3V by default.

 - The voltage is actually wrong but thanks to the voltage constraints
   in the RPM firmware it still ends up applying the correct voltage.

To have proper regulator constraints it is important to review them in
context of the usage. The current setup in the MSM8939 device trees
makes this quite hard because each device duplicates the standard
voltages for components of the SoC and mixes those with minor
device-specific additions and dummy voltages for completely unused
regulators.

The actual usage of the regulators for the SoC components is in
msm8939-pm8916.dtsi, so it can and should also define the related
voltage constraints. These are not board-specific but defined in the
MSM8939/PM8916 specification. There is no documentation available for
MSM8939 but in practice it's almost identical to MSM8916.

Note that this commit does not make any functional change. All used
regulators still have the same regulator constraints as before. Unused
regulators do not have regulator constraints anymore because most of
these were too broad or even entirely wrong. They should be added back
with proper voltage constraints when there is an actual usage.

The same changes were already made for MSM8916 in commit b0a8f16ae4a0
("arm64: dts: qcom: msm8916: Define regulator constraints next to usage").

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-7-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939-pm8916: Clarify purpose
Stephan Gerhold [Wed, 14 Jun 2023 07:16:04 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939-pm8916: Clarify purpose

Add the same comment to msm8939-pm8916.dtsi that was added for the
MSM8916 variant in commit f193264986b5 ("arm64: dts: qcom:
msm8916-pm8916: Clarify purpose").

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-6-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939: Fix regulator constraints
Stephan Gerhold [Wed, 14 Jun 2023 07:16:03 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939: Fix regulator constraints

The regulator constraints for the MSM8939 devices were originally taken
from Qualcomm's msm-3.10 vendor device tree (for lack of better
documentation). Unfortunately it turns out that Qualcomm's voltages are
slightly off as well and do not match the voltage constraints applied
by the RPM firmware.

This means that we sometimes request a specific voltage but the RPM
firmware actually applies a much lower or higher voltage. This is
particularly critical for pm8916_l11 which is used as SD card VMMC
regulator: The SD card can choose a voltage from the current range of
1.8 - 2.95V. If it chooses to run at 1.8V we pretend that this is fine
but the RPM firmware will still silently end up configuring 2.95V.
This can be easily reproduced with a multimeter or by checking the
SPMI hardware registers of the regulator.

Apply the same change as for MSM8916 in commit 355750828c55 ("arm64:
dts: qcom: msm8916: Fix regulator constraints") and make the voltages
match the actual "specified range" in the PM8916 Device Specification
which is enforced by the RPM firmware.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-5-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939-sony-tulip: Allow disabling pm8916_l6
Stephan Gerhold [Wed, 14 Jun 2023 07:16:02 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939-sony-tulip: Allow disabling pm8916_l6

The vendor kernel from Sony does not have regulator-always-on for
pm8916_l6, so we should be able to disable it when setting up the
display properly. Since sony-tulip does not have display set up
currently it should be fine to let the regulator disable until then.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-4-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939-sony-tulip: Fix l10-l12 regulator voltages
Stephan Gerhold [Wed, 14 Jun 2023 07:16:01 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939-sony-tulip: Fix l10-l12 regulator voltages

msm8939-sony-xperia-kanuti-tulip.dts has several regulator voltages
that do not quite seem to match what is used in the vendor kernel.
In particular:

 - l10 is fixed at 2.8V [1, 2]
 - l11/l12 are 2.95V max [1]

[1]: https://github.com/sonyxperiadev/kernel/blob/aosp/LA.BR.1.3.3_rb2.14/arch/arm/boot/dts/qcom/msm8939-regulator.dtsi
[2]: https://github.com/sonyxperiadev/kernel/blob/aosp/LA.BR.1.3.3_rb2.14/arch/arm/boot/dts/qcom/msm8939-kanuti_tulip.dtsi#L671C1-L673

Fixes: f1134f738fad ("arm64: dts: qcom: Add msm8939 Sony Xperia M4 Aqua")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-3-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939: Disable lpass_codec by default
Stephan Gerhold [Wed, 14 Jun 2023 07:16:00 +0000 (09:16 +0200)]
arm64: dts: qcom: msm8939: Disable lpass_codec by default

Update for recent changes to msm8916.dtsi in commit a5cf21b14666
("arm64: dts: qcom: msm8916: Disable audio codecs by default") and
make lpass_codec disabled by default for devices that are not using
the audio codec functionality inside MSM8939.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-2-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: msm8939-pm8916: Add missing pm8916_codec supplies
Stephan Gerhold [Wed, 14 Jun 2023 07:15:59 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8939-pm8916: Add missing pm8916_codec supplies

Update for recent changes to pm8916.dtsi in commit 38218822a72f
("arm64: dts: qcom: pm8916: Move default regulator "-supply"s")
and add the now missing pm8916_codec supplies to msm8939-pm8916.dtsi
as well.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530-msm8939-regulators-v1-1-a3c3ac833567@gerhold.net
14 months agoarm64: dts: qcom: qrb4210-rb2: Enable on-board buttons
Konrad Dybcio [Tue, 13 Jun 2023 18:09:00 +0000 (20:09 +0200)]
arm64: dts: qcom: qrb4210-rb2: Enable on-board buttons

Enable the PMIC GPIO- and RESIN-connected buttons on the board.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230613-topic-rb2_-v1-1-696cd7dbda28@linaro.org
14 months agoarm64: dts: qcom: msm8916: Drop msm8916-pins.dtsi
Stephan Gerhold [Tue, 30 May 2023 07:15:27 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8916: Drop msm8916-pins.dtsi

MSM8916 and MSM8939 are pin-compatible and should have exactly the same
pinctrl definitions. Still, having pinctrl separated to a -pins.dtsi
is not typical anymore for Qualcomm platforms upstream. Since Bjorn
specifically requested having the MSM8939 pinctrl inside msm8939.dtsi
lets move the MSM8916 definitions to msm8916.dtsi as well to have
a consistent location.

While at it sort the nodes and drop unnecessary empty lines.

Note that in almost all cases changes to MSM8916 pinctrl should also be
applied to MSM8939 pinctrl (and vice versa). Right now they are back in
sync again and completely identical.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-6-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: msm8916/39: Rename wcnss pinctrl
Stephan Gerhold [Tue, 30 May 2023 07:15:26 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8916/39: Rename wcnss pinctrl

All the pinctrl now uses consistent _default/_sleep suffix so rename
the WCNSS pinctrl to be named consistently.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-5-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: msm8916/39: Cleanup audio pinctrl
Stephan Gerhold [Tue, 30 May 2023 07:15:25 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8916/39: Cleanup audio pinctrl

The audio pinctrl in MSM8916/MSM8939 is very similar but still has
subtle differences, e.g. &cdc_pdm_lines_act on MSM8916 vs
&cdc_pdm_lines_default on MSM8939.

Make this consistent and use the chance to cleanup all of the audio
pinctrl: Drop unneeded outer nodes and replace the names taken over
from the vendor kernel with more clear ones that are similar to the
actual pinctrl function.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-4-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: apq8016-sbc: Drop unneeded MCLK pinctrl
Stephan Gerhold [Tue, 30 May 2023 07:15:24 +0000 (09:15 +0200)]
arm64: dts: qcom: apq8016-sbc: Drop unneeded MCLK pinctrl

GPIO116 is not connected (NC) on DB410c so there is no need to route
MCLK there. The MSM8916 digital codec receives the MCLK internally
without leaving the SoC through a GPIO.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-3-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: msm8916/39: Consolidate SDC pinctrl
Stephan Gerhold [Tue, 30 May 2023 07:15:23 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8916/39: Consolidate SDC pinctrl

MSM8939 has the SDC pinctrl consolidated in two &sdcN_default and
&sdcN_sleep states, while MSM8916 has all pins separated. Make this
consistent by consolidating them for MSM8916 well.

Use this as a chance to define default pinctrl in the SoC.dtsi and only
let boards that add additional definitions (such as cd-gpios) override it.

For MSM8939 just make the label consistent with the other pinctrl
definitions (they do not have a _state suffix).

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-2-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: msm8916/39: Fix SD card detect pinctrl
Stephan Gerhold [Tue, 30 May 2023 07:15:22 +0000 (09:15 +0200)]
arm64: dts: qcom: msm8916/39: Fix SD card detect pinctrl

The current SD card detect pinctrl setup configures bias-pull-up for
the "default" (active) case and bias-disable for the "sleep" case.
Before commit b5c833b703cc ("mmc: sdhci-msm: Set IO pins in low power
state during suspend") the pull up was permanently active. Since then
it is only active when a valid SD card is inserted.

This does not really make sense: For an active-low CD, the pull up is
needed to pull the GPIO high when the card is not inserted. When the
card gets inserted CD is shorted to ground (low). This means right now
the pull-up is removed exactly when it is needed to detect the next
card insertion. Generally, applying different bias for CD does not
really make sense. It should always stay the same so card removals and
insertions can be detected properly.

The reason why card detection still works fine in practice is that most
boards seem to have external pull up on the CD pin. However, this means
that there is no need to configure an internal pull-up at all and we
can keep bias-disable permanently.

There are also some boards with different CD polarity (acer-a1-724) and
with different GPIO number (huawei-g7). All in all this makes it
obvious that the CD pin is board-specific and the pinctrl for it should
be defined in the board DT.

Move it to the boards that need it and use bias-disable permanently for
the boards that seem to have external pull-up. The vendor device tree
for msm8939-sony-xperia-kanuti-tulip suggests that it needs the
internal pull-up permanently [1] so it gets bias-pull-up to be sure.

[1]: https://github.com/sonyxperiadev/kernel/blob/57b5050e340f40a88e1ddb8d16fd9adb44418923/arch/arm/boot/dts/qcom/msm8939-kanuti_tulip.dtsi#L634-L636

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230529-msm8916-pinctrl-v1-1-11f540b51c93@gerhold.net
14 months agoarm64: dts: qcom: msm8996: rename labels for HDMI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:22 +0000 (04:16 +0300)]
arm64: dts: qcom: msm8996: rename labels for HDMI nodes

Currently in board files MDSS and HDMI nodes stay apart, because labels
for HDMI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change HDMI
node labels from hdmi_* to mdss_hdmi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-14-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sm8250: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:21 +0000 (04:16 +0300)]
arm64: dts: qcom: sm8250: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-13-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sdm845: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:20 +0000 (04:16 +0300)]
arm64: dts: qcom: sdm845: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-12-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sdm630: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:19 +0000 (04:16 +0300)]
arm64: dts: qcom: sdm630: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-11-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sc8180x: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:18 +0000 (04:16 +0300)]
arm64: dts: qcom: sc8180x: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-10-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sc7280: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:17 +0000 (04:16 +0300)]
arm64: dts: qcom: sc7280: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-9-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sc7180: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:16 +0000 (04:16 +0300)]
arm64: dts: qcom: sc7180: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-8-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: msm8996: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:15 +0000 (04:16 +0300)]
arm64: dts: qcom: msm8996: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-7-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: msm8953: rename labels for DSI nodes
Dmitry Baryshkov [Wed, 31 May 2023 01:16:14 +0000 (04:16 +0300)]
arm64: dts: qcom: msm8953: rename labels for DSI nodes

Currently in board files MDSS and DSI nodes stay apart, because labels
for DSI nodes do not have the mdss_ prefix. It was found that grouping
all display-related notes is more useful.

To keep all display-related nodes close in the board files, change DSI
node labels from dsi_* to mdss_dsi_*.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-6-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: qrb5165-rb5: remove useless enablement of mdss_mdp
Dmitry Baryshkov [Wed, 31 May 2023 01:16:13 +0000 (04:16 +0300)]
arm64: dts: qcom: qrb5165-rb5: remove useless enablement of mdss_mdp

The MDP/DPU device is not disabled by default since the commit
0c25dad9f2a7 ("arm64: dts: qcom: sm8250: Don't disable MDP explicitly"),
so there is not point in enabling it in the board DTS file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-5-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sm8450-hdk: remove useless enablement of mdss_mdp
Dmitry Baryshkov [Wed, 31 May 2023 01:16:12 +0000 (04:16 +0300)]
arm64: dts: qcom: sm8450-hdk: remove useless enablement of mdss_mdp

The MDP/DPU device is not disabled by default, so there is not point in
enabling it in the board DTS file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-4-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sm8350-hdk: remove useless enablement of mdss_mdp
Dmitry Baryshkov [Wed, 31 May 2023 01:16:11 +0000 (04:16 +0300)]
arm64: dts: qcom: sm8350-hdk: remove useless enablement of mdss_mdp

The MDP/DPU device is not disabled by default, so there is not point in
enabling it in the board DTS file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-3-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: sc7280: Don't disable MDP explicitly
Dmitry Baryshkov [Wed, 31 May 2023 01:16:10 +0000 (04:16 +0300)]
arm64: dts: qcom: sc7280: Don't disable MDP explicitly

MDSS and all its subdevices are useless without DPU/MDP, so disabling
MDP doesn't make any sense. Remove explicit disabling of the DPU device.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531011623.3808538-2-dmitry.baryshkov@linaro.org
14 months agoarm64: dts: qcom: ipq9574: add support for RDP454 variant
Poovendhan Selvaraj [Wed, 31 May 2023 03:26:48 +0000 (08:56 +0530)]
arm64: dts: qcom: ipq9574: add support for RDP454 variant

Add the initial device tree support for the Reference Design Platform (RDP)
454 based on IPQ9574 family of SoCs. This patch adds support for Console
UART, SPI NOR and SMPA1 regulator node.

Signed-off-by: Poovendhan Selvaraj <quic_poovendh@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531032648.23816-3-quic_poovendh@quicinc.com
14 months agodt-bindings: arm: qcom: document AL02-C9 board based on IPQ9574 family
Poovendhan Selvaraj [Wed, 31 May 2023 03:26:47 +0000 (08:56 +0530)]
dt-bindings: arm: qcom: document AL02-C9 board based on IPQ9574 family

Document AL02-C9 (Reference Design Platform 454) board based on IPQ9574
family of SoCs.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Poovendhan Selvaraj <quic_poovendh@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531032648.23816-2-quic_poovendh@quicinc.com
14 months agoarm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU
Konrad Dybcio [Wed, 31 May 2023 15:04:24 +0000 (17:04 +0200)]
arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU

Add GPUCC and Adreno SMMU nodes in preparation for adding the GPU
itself.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-sm6375_gpusmmu-v1-2-860943894c71@linaro.org
14 months agoarm64: dts: qcom: sm8550: Add missing interconnect path to USB HC
Abel Vesa [Thu, 1 Jun 2023 10:38:17 +0000 (13:38 +0300)]
arm64: dts: qcom: sm8550: Add missing interconnect path to USB HC

The USB HC node is missing the interconnect paths, so add them.

Fixes: 7f7e5c1b037f ("arm64: dts: qcom: sm8550: Add USB PHYs and controller nodes")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230601103817.4066446-1-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: qdu1000-idp: add SDHCI for emmc
Komal Bajaj [Thu, 1 Jun 2023 11:11:28 +0000 (16:41 +0530)]
arm64: dts: qcom: qdu1000-idp: add SDHCI for emmc

Add sdhci node for emmc in qdu1000-idp.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230601111128.19562-4-quic_kbajaj@quicinc.com
14 months agoarm64: dts: qcom: qdu1000: Add SDHCI node
Komal Bajaj [Thu, 1 Jun 2023 11:11:27 +0000 (16:41 +0530)]
arm64: dts: qcom: qdu1000: Add SDHCI node

Add sdhc node for eMMC on QDU1000 and QRU1000 SoCs. Also add
required pins for SDHCI, so that the interface can work reliably.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230601111128.19562-3-quic_kbajaj@quicinc.com
14 months agoarm64: dts: qcom: sm8450: Add missing interconnect paths to USB HC
Abel Vesa [Fri, 2 Jun 2023 06:20:16 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8450: Add missing interconnect paths to USB HC

The USB HC node is missing the interconnect paths, so add them.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-6-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8350: Add missing interconnect paths to USB HCs
Abel Vesa [Fri, 2 Jun 2023 06:20:15 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8350: Add missing interconnect paths to USB HCs

The USB HCs nodes are missing the interconnect paths, so add them.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-5-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8250: Add missing interconnect paths to USB HCs
Abel Vesa [Fri, 2 Jun 2023 06:20:14 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8250: Add missing interconnect paths to USB HCs

The USB HCs nodes are missing the interconnect paths, so add them.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-4-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8250: Use 2 interconnect cells
Abel Vesa [Fri, 2 Jun 2023 06:20:13 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8250: Use 2 interconnect cells

Use two interconnect cells in order to optionally support a path tag.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-3-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8150: Add missing interconnect paths to USB HCs
Abel Vesa [Fri, 2 Jun 2023 06:20:12 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8150: Add missing interconnect paths to USB HCs

The USB HCs nodes are missing the interconnect paths, so add them.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-2-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8150: Use 2 interconnect cells
Abel Vesa [Fri, 2 Jun 2023 06:20:11 +0000 (09:20 +0300)]
arm64: dts: qcom: sm8150: Use 2 interconnect cells

Use two interconnect cells in order to optionally support a path tag.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602062016.1883171-1-abel.vesa@linaro.org
14 months agoarm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k
Marijn Suijten [Tue, 6 Jun 2023 21:14:18 +0000 (23:14 +0200)]
arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k

The framebuffer configuration for edo pdx203, written in edo dtsi (which
is overwritten in pdx206 dts for its smaller panel) has to use a
1096x2560 configuration as this is what the panel (and framebuffer area)
has been initialized to.  Downstream userspace also has access to (and
uses) this 2.5k mode by default, and only switches the panel to 4k when
requested.

This is similar to commit be8de06dc397 ("arm64: dts: qcom:
sm8150-kumano: Panel framebuffer is 2.5k instead of 4k") which fixed the
same for the previous generation Sony platform.

Fixes: 69cdb97ef652 ("arm64: dts: qcom: sm8250: Add support for SONY Xperia 1 II / 5 II (Edo platform)")
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230606211418.587676-1-marijn.suijten@somainline.org
14 months agoarm64: dts: qcom: qcm2290: Add CPU idle states
Konrad Dybcio [Tue, 6 Jun 2023 23:04:19 +0000 (01:04 +0200)]
arm64: dts: qcom: qcm2290: Add CPU idle states

Add the (scarce) idle states for the individual CPUs, as well as the
whole cluster. This enables deeper-than-WFI cpuidle

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230606-topic-qcm2290_idlestates-v2-1-580a5a2d28c9@linaro.org
14 months agodt-bindings: arm: qcom: Add Samsung Galaxy Express
Rudraksha Gupta [Wed, 7 Jun 2023 05:00:20 +0000 (01:00 -0400)]
dt-bindings: arm: qcom: Add Samsung Galaxy Express

Add a compatible for Samsung Galaxy Express SGH-I437.

Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230607050025.86636-2-guptarud@gmail.com
14 months agoarm64: dts: qcom: ipq9574: add thermal zone nodes
Varadarajan Narayanan [Wed, 7 Jun 2023 08:53:10 +0000 (14:23 +0530)]
arm64: dts: qcom: ipq9574: add thermal zone nodes

This patch adds thermal zone nodes for the various
sensors present in IPQ9574

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Co-developed-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/404c88e9746b3f25585aef078861ec2c273232d5.1686125196.git.quic_varada@quicinc.com
14 months agoarm64: dts: qcom: ipq9574: add tsens node
Varadarajan Narayanan [Wed, 7 Jun 2023 08:53:09 +0000 (14:23 +0530)]
arm64: dts: qcom: ipq9574: add tsens node

IPQ9574 has a tsens v2.3.1 peripheral which monitors temperatures
around the various subsystems on the die.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Co-developed-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/00fa16039db78dcb919bd15444bbf86ff3a340d6.1686125196.git.quic_varada@quicinc.com
14 months agoarm64: dts: qcom: ipq8074: add critical thermal trips
Robert Marko [Wed, 7 Jun 2023 18:44:48 +0000 (20:44 +0200)]
arm64: dts: qcom: ipq8074: add critical thermal trips

According to bindings, thermal zones must have associated trips as well.
Since we currently dont have CPUFreq support and thus no passive cooling
lets start by defining critical trips to protect the devices against
severe overheating.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
14 months agoarm64: dts: qcom: msm8996pro: Add CBF scaling support
Yassine Oudjana [Sat, 27 May 2023 09:39:33 +0000 (12:39 +0300)]
arm64: dts: qcom: msm8996pro: Add CBF scaling support

Add opp-peak-kBps to CPU OPPs to allow for CBF scaling, and change the
CBF compatible to reflect the difference between it and the one on
MSM8996.

Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230527093934.101335-3-y.oudjana@protonmail.com
14 months agoarm64: dts: qcom: sdm845-xiaomi-beryllium: enable pmi8998 charger
Joel Selvaraj [Fri, 26 May 2023 21:50:24 +0000 (22:50 +0100)]
arm64: dts: qcom: sdm845-xiaomi-beryllium: enable pmi8998 charger

Enable the pmi8998 charger and define some basic battery properties.

Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230524-pmi8998-charger-dts-v2-5-2a5c77d2ff0c@linaro.org
14 months agoarm64: dts: qcom: sdm845-shift-axolotl: enable pmi8998 charger
Caleb Connolly [Fri, 26 May 2023 21:50:23 +0000 (22:50 +0100)]
arm64: dts: qcom: sdm845-shift-axolotl: enable pmi8998 charger

Enable the PMI8998/smb2 charger, and denote the secondary SMB1355
charger which is used for parallel charging.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230524-pmi8998-charger-dts-v2-4-2a5c77d2ff0c@linaro.org
14 months agoarm64: dts: qcom: sdm845-oneplus: enable pmi8998 charger
Caleb Connolly [Fri, 26 May 2023 21:50:22 +0000 (22:50 +0100)]
arm64: dts: qcom: sdm845-oneplus: enable pmi8998 charger

Enable the pmi8998 charger on both devices, enabling charging speeds
above the default 500mA limit the bootloader sets.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230524-pmi8998-charger-dts-v2-3-2a5c77d2ff0c@linaro.org
14 months agoarm64: dts: qcom: pmi8998: add charger node
Caleb Connolly [Fri, 26 May 2023 21:50:21 +0000 (22:50 +0100)]
arm64: dts: qcom: pmi8998: add charger node

Add a node for the smb2 charger hardware found on the pmi8998 pmic
following the DT bindings.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230524-pmi8998-charger-dts-v2-2-2a5c77d2ff0c@linaro.org
14 months agoarm64: dts: qcom: pmi8998: enable rradc by default
Caleb Connolly [Fri, 26 May 2023 21:50:20 +0000 (22:50 +0100)]
arm64: dts: qcom: pmi8998: enable rradc by default

There is no need for the RRADC to be disabled by default,
lets just enable it by default and not clutter up DT.

Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230524-pmi8998-charger-dts-v2-1-2a5c77d2ff0c@linaro.org
14 months agoarm64: dts: qcom: ipq9574: Enable crypto nodes
Anusha Rao [Fri, 26 May 2023 16:11:29 +0000 (21:41 +0530)]
arm64: dts: qcom: ipq9574: Enable crypto nodes

Enable crypto support for ipq9574.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Anusha Rao <quic_anusha@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526161129.1454-5-quic_anusha@quicinc.com
14 months agoMerge branch '20230526161129.1454-2-quic_anusha@quicinc.com' into arm64-for-6.5
Bjorn Andersson [Tue, 13 Jun 2023 22:17:30 +0000 (15:17 -0700)]
Merge branch '20230526161129.1454-2-quic_anusha@quicinc.com' into arm64-for-6.5

Merge IPQ9574 Crypto Engine-related DeviceTree bindings, to gain the
additional clock defines needed to add the related nodes.

14 months agodt-bindings: clock: Add crypto clock and reset definitions
Anusha Rao [Fri, 26 May 2023 16:11:26 +0000 (21:41 +0530)]
dt-bindings: clock: Add crypto clock and reset definitions

Add crypto clock and reset ID definitions for ipq9574.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Signed-off-by: Anusha Rao <quic_anusha@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526161129.1454-2-quic_anusha@quicinc.com
14 months agoarm64: dts: qcom: qdu1000: Add IMEM and PIL info region
Komal Bajaj [Mon, 22 May 2023 15:12:06 +0000 (20:42 +0530)]
arm64: dts: qcom: qdu1000: Add IMEM and PIL info region

Add a simple-mfd representing IMEM on QDU1000 and define the PIL
relocation info region, so that post mortem tools will be able
to locate the loaded remoteprocs.

Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230522151206.22654-3-quic_kbajaj@quicinc.com
14 months agoarm64: dts: adapt to LP855X bindings changes
Artur Weber [Fri, 19 May 2023 18:07:28 +0000 (20:07 +0200)]
arm64: dts: adapt to LP855X bindings changes

Change underscores in ROM node names to dashes, and remove deprecated
pwm-period property.

Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230519180728.2281-5-aweber.kernel@gmail.com
14 months agoarm64: dts: qcom: ipq5332: add few more reserved memory region
Kathiravan T [Fri, 19 May 2023 13:38:44 +0000 (19:08 +0530)]
arm64: dts: qcom: ipq5332: add few more reserved memory region

In IPQ SoCs, bootloader will collect the system RAM contents upon crash for
the post morterm analysis. If we don't reserve the memory region used by
bootloader, obviously linux will consume it and upon next boot on crash,
bootloader will be loaded in the same region, which will lead to loose some
of the data, sometimes we may miss out critical information. So lets
reserve the region used by the bootloader.

Similarly SBL copies some data into the reserved region and it will be
used in the crash scenario. So reserve 1MB for SBL as well.

While at it, drop the size padding in the smem memory region.

Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230519133844.23512-4-quic_kathirav@quicinc.com
14 months agoarm64: dts: qcom: ipq5332: define UART1
Kathiravan T [Fri, 19 May 2023 13:38:43 +0000 (19:08 +0530)]
arm64: dts: qcom: ipq5332: define UART1

Add the definition for the UART1 found on IPQ5332 SoC.

Reviewed-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230519133844.23512-3-quic_kathirav@quicinc.com
14 months agoarm64: dts: qcom: ipq5332: rename mi01.2 dts to rdp441
Kathiravan T [Fri, 19 May 2023 13:38:42 +0000 (19:08 +0530)]
arm64: dts: qcom: ipq5332: rename mi01.2 dts to rdp441

To align with ipq5332-rdp468.dts, lets rename the mi01.2 dts as well to
ipq5332-rdp441.dts.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230519133844.23512-2-quic_kathirav@quicinc.com
14 months agoarm64: dts: qcom: sm7225-fairphone-fp4: Add Bluetooth
Luca Weiss [Fri, 12 May 2023 13:58:26 +0000 (15:58 +0200)]
arm64: dts: qcom: sm7225-fairphone-fp4: Add Bluetooth

The device has a WCN3988 chip for WiFi and Bluetooth. Configure the
Bluetooth node and enable the UART it is connected to, plus the
necessary pinctrl that has been borrowed with comments from
sc7280-idp.dtsi.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230421-fp4-bluetooth-v2-4-3de840d5483e@fairphone.com
14 months agoarm64: dts: qcom: sm6350: add uart1 node
Luca Weiss [Fri, 12 May 2023 13:58:25 +0000 (15:58 +0200)]
arm64: dts: qcom: sm6350: add uart1 node

Add the node describing uart1 incl. opp table and pinctrl.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230421-fp4-bluetooth-v2-3-3de840d5483e@fairphone.com
14 months agoarm64: dts: qcom: sm8550: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:42 +0000 (15:22 +0200)]
arm64: dts: qcom: sm8550: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: ffc50b2d3828 ("arm64: dts: qcom: Add base SM8550 dtsi")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-8-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: sm6350: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:41 +0000 (15:22 +0200)]
arm64: dts: qcom: sm6350: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: 5f82b9cda61e ("arm64: dts: qcom: Add SM6350 device tree")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-7-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: sdm845: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:40 +0000 (15:22 +0200)]
arm64: dts: qcom: sdm845: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: c83545d95376 ("arm64: dts: sdm845: Add rpmh-rsc node")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-6-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: sdm670: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:39 +0000 (15:22 +0200)]
arm64: dts: qcom: sdm670: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: 07c8ded6e373 ("arm64: dts: qcom: add sdm670 and pixel 3a device trees")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-5-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: sc8180x: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:38 +0000 (15:22 +0200)]
arm64: dts: qcom: sc8180x: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: 8575f197b077 ("arm64: dts: qcom: Introduce the SC8180x platform")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-4-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: qdu1000: Flush RSC sleep & wake votes
Konrad Dybcio [Wed, 31 May 2023 13:22:37 +0000 (15:22 +0200)]
arm64: dts: qcom: qdu1000: Flush RSC sleep & wake votes

The rpmh driver will cache sleep and wake votes until the cluster
power-domain is about to enter idle, to avoid unnecessary writes. So
associate the apps_rsc with the cluster pd, so that it can be notified
about this event.

Without this, only AMC votes are being commited.

Fixes: 6bd20c54b589 ("arm64: dts: qcom: Add base QDU1000/QRU1000 DTSIs")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-3-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: sm6350: Add PSCI idle states
Konrad Dybcio [Wed, 31 May 2023 13:22:36 +0000 (15:22 +0200)]
arm64: dts: qcom: sm6350: Add PSCI idle states

Add the PSCI idle states so that the CPU (among other things) can
reach lower power states.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-2-b4a985f57b8b@linaro.org
14 months agoarm64: dts: qcom: ipq9574: add few more reserved memory region
Anusha Rao [Fri, 2 Jun 2023 08:44:31 +0000 (14:14 +0530)]
arm64: dts: qcom: ipq9574: add few more reserved memory region

In IPQ SoCs, bootloader will collect the system RAM contents upon crash
for post-morterm analysis. If we don't reserve the memory region used
by bootloader, obviously linux will consume it and upon next boot on
crash, bootloader will be loaded in the same region, which will lead to
loss of some data, sometimes we may miss out critical information.
So lets reserve the region used by the bootloader.

Similarly SBL copies some data into the reserved region and it will be
used in the crash scenario. So reserve 1MB for SBL as well.

While at it, drop the size padding in the reserved memory region,
wherever applicable

Signed-off-by: Anusha Rao <quic_anusha@quicinc.com>
Reviewed-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230602084431.19134-1-quic_anusha@quicinc.com
14 months agoarm64: dts: qcom: ipq5332: add support for the RDP474 variant
Kathiravan T [Mon, 5 Jun 2023 08:05:31 +0000 (13:35 +0530)]
arm64: dts: qcom: ipq5332: add support for the RDP474 variant

Add the initial device tree support for the Reference Design
Platform(RDP) 474 based on IPQ5332 family of SoC. This patch carries
the support for Console UART, eMMC, I2C and GPIO based buttons.

Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230605080531.3879-5-quic_kathirav@quicinc.com
14 months agodt-bindings: arm: qcom: document MI01.9 board based on IPQ5332 family
Kathiravan T [Mon, 5 Jun 2023 08:05:30 +0000 (13:35 +0530)]
dt-bindings: arm: qcom: document MI01.9 board based on IPQ5332 family

Document the MI01.9 (Reference Design Platform 474) board based on IPQ5332
family of SoCs.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230605080531.3879-4-quic_kathirav@quicinc.com
14 months agoarm64: dts: qcom: sc8280xp: add resets for soundwire controllers
Srinivas Kandagatla [Thu, 8 Jun 2023 12:53:14 +0000 (13:53 +0100)]
arm64: dts: qcom: sc8280xp: add resets for soundwire controllers

Soundwire controllers on sc8280xp needs an explicit reset, add
support for this.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608125315.11454-6-srinivas.kandagatla@linaro.org
14 months agoMerge branch '20230608125315.11454-2-srinivas.kandagatla@linaro.org' into arm64-for-6.5
Bjorn Andersson [Tue, 13 Jun 2023 18:12:02 +0000 (11:12 -0700)]
Merge branch '20230608125315.11454-2-srinivas.kandagatla@linaro.org' into arm64-for-6.5

Merge the SC8280XP LPASSCC DeviceTree bindings in order to get access
to the newly added reset defines.

14 months agodt-bindings: clock: Add LPASS AUDIOCC and reset controller for SC8280XP
Srinivas Kandagatla [Thu, 8 Jun 2023 12:53:11 +0000 (13:53 +0100)]
dt-bindings: clock: Add LPASS AUDIOCC and reset controller for SC8280XP

The LPASS (Low Power Audio Subsystem) Audio clock controller provides reset
support when it is under the control of Q6DSP.

Add support for those resets and adds IDs for clients to request the reset.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608125315.11454-3-srinivas.kandagatla@linaro.org
14 months agodt-bindings: clock: Add LPASSCC and reset controller for SC8280XP
Srinivas Kandagatla [Thu, 8 Jun 2023 12:53:10 +0000 (13:53 +0100)]
dt-bindings: clock: Add LPASSCC and reset controller for SC8280XP

The LPASS (Low Power Audio Subsystem) clock controller provides reset
support when it is under the control of Q6DSP.

Add support for those resets and adds IDs for clients to request the reset.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608125315.11454-2-srinivas.kandagatla@linaro.org
14 months agoarm64: dts: qcom: sm8550-mtp: add sound card
Krzysztof Kozlowski [Mon, 12 Jun 2023 17:37:58 +0000 (19:37 +0200)]
arm64: dts: qcom: sm8550-mtp: add sound card

Add the sound card node with tested playback over WSA8845 speakers and
WCD9385 headset over USB Type-C.  The recording links were not tested,
but should be similar to previous platforms.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612173758.286411-2-krzysztof.kozlowski@linaro.org
14 months agoarm64: dts: qcom: sm8550-qrd: add sound card
Krzysztof Kozlowski [Mon, 12 Jun 2023 17:37:57 +0000 (19:37 +0200)]
arm64: dts: qcom: sm8550-qrd: add sound card

Add the sound card node with tested playback over WSA8845 speakers and
WCD9385 headset over USB Type-C.  The recording links were not tested,
but should be similar to previous platforms.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612173758.286411-1-krzysztof.kozlowski@linaro.org
14 months agoarm64: dts: qcom: sm8550-mtp: add WSA8845 speakers
Krzysztof Kozlowski [Thu, 8 Jun 2023 09:43:23 +0000 (11:43 +0200)]
arm64: dts: qcom: sm8550-mtp: add WSA8845 speakers

Add Qualcomm WSA8845 Soundwire smart speaker amplifiers.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608094323.267278-2-krzysztof.kozlowski@linaro.org
14 months agoarm64: dts: qcom: sm8550-qrd: add WSA8845 speakers
Krzysztof Kozlowski [Thu, 8 Jun 2023 09:43:22 +0000 (11:43 +0200)]
arm64: dts: qcom: sm8550-qrd: add WSA8845 speakers

Add Qualcomm WSA8845 Soundwire smart speaker amplifiers.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608094323.267278-1-krzysztof.kozlowski@linaro.org
14 months agoarm64: dts: qcom: Add SDX75 platform and IDP board support
Rohit Agarwal [Fri, 9 Jun 2023 11:50:38 +0000 (17:20 +0530)]
arm64: dts: qcom: Add SDX75 platform and IDP board support

Add basic devicetree support for SDX75 platform and IDP board from
Qualcomm. The SDX75 platform features an ARM Cortex A55 CPU which forms
the Application Processor Sub System (APSS) along with standard Qualcomm
peripherals like GCC, TLMM, UART, QPIC, and BAM etc... Also, there
exists the networking parts such as IPA, MHI, PCIE-EP, EMAC, and Modem
etc..

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1686311438-24177-6-git-send-email-quic_rohiagar@quicinc.com
14 months agodt-bindings: arm: qcom: Document SDX75 platform and boards
Rohit Agarwal [Fri, 9 Jun 2023 11:50:34 +0000 (17:20 +0530)]
dt-bindings: arm: qcom: Document SDX75 platform and boards

Document the SDX75 platform binding and also the boards using it.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1686311438-24177-2-git-send-email-quic_rohiagar@quicinc.com
14 months agoMerge branch '20230512122347.1219-3-quic_tdas@quicinc.com' into arm64-for-6.5
Bjorn Andersson [Tue, 13 Jun 2023 18:04:23 +0000 (11:04 -0700)]
Merge branch '20230512122347.1219-3-quic_tdas@quicinc.com' into arm64-for-6.5

Merge the SDX75 GCC DeviceTree binding, in order to get access to the
clock defines in the DeviceTree source.

14 months agoarm64: dts: qcom: sm8550-qrd: enable PMIC Volume and Power buttons
Neil Armstrong [Mon, 12 Jun 2023 15:22:52 +0000 (17:22 +0200)]
arm64: dts: qcom: sm8550-qrd: enable PMIC Volume and Power buttons

The Volume Down & Power buttons are controlled by the PMIC via
the PON hardware, and the Volume Up is connected to a PMIC gpio.

Enable the necessary hardware and setup the GPIO state for the
Volume Up gpio key.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230525-topic-sm8550-upstream-pm8550-lpg-dt-v4-4-a288f24af81b@linaro.org
14 months agoarm64: dts: qcom: pmk8550: always enable RTC PMIC device
Neil Armstrong [Mon, 12 Jun 2023 15:22:51 +0000 (17:22 +0200)]
arm64: dts: qcom: pmk8550: always enable RTC PMIC device

There's no reason to keep the RTC disabled, it has been tested
and is functional on the SM8550 QRD and MTP boards.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230525-topic-sm8550-upstream-pm8550-lpg-dt-v4-3-a288f24af81b@linaro.org
14 months agoarm64: dts: qcom: sm8550-qrd: add notification RGB LED
Neil Armstrong [Mon, 12 Jun 2023 15:22:50 +0000 (17:22 +0200)]
arm64: dts: qcom: sm8550-qrd: add notification RGB LED

The QRD features a notification LED connected to the pm8550.
Configure the RGB led controlled by the PMIC PWM controller.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230525-topic-sm8550-upstream-pm8550-lpg-dt-v4-2-a288f24af81b@linaro.org
14 months agoarm64: dts: qcom: pm8550: add PWM controller
Neil Armstrong [Mon, 12 Jun 2023 15:22:49 +0000 (17:22 +0200)]
arm64: dts: qcom: pm8550: add PWM controller

Add the PWM function to the pm8550 dtsi, this is usually used
to drive RGB leds on platforms using this PMIC.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230525-topic-sm8550-upstream-pm8550-lpg-dt-v4-1-a288f24af81b@linaro.org
14 months agoarm64: dts: qcom: sc8180x: Move DisplayPort for MMCX
Bjorn Andersson [Mon, 12 Jun 2023 22:07:39 +0000 (15:07 -0700)]
arm64: dts: qcom: sc8180x: Move DisplayPort for MMCX

The DisplayPort blocks are powered by MMCX and should be described as
such to ensure that power votes are done on the right resource.

This also solves the problem that sync_state is unaware of the DP
controllers needing MMCX to be kept alive during boot. As such this
change also fixes occasionally seen crashes during boot due to
undervoltage of MMCX.

Fixes: 494dec9b6f54 ("arm64: dts: qcom: sc8180x: Add display and gpu nodes")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612220739.1886155-1-quic_bjorande@quicinc.com
14 months agoarm64: dts: qcom: sc8180x: Fix adreno smmu compatible
Bjorn Andersson [Mon, 12 Jun 2023 22:05:32 +0000 (15:05 -0700)]
arm64: dts: qcom: sc8180x: Fix adreno smmu compatible

The adreno smmu should be compatible with qcom,adreno-smmu as well for
per-process page tables to work.

Fixes: 8575f197b077 ("arm64: dts: qcom: Introduce the SC8180x platform")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612220532.1884860-1-quic_bjorande@quicinc.com
14 months agoarm64: dts: qcom: sc8180x-primus: dispcc is already okay
Bjorn Andersson [Mon, 12 Jun 2023 22:04:20 +0000 (15:04 -0700)]
arm64: dts: qcom: sc8180x-primus: dispcc is already okay

&dispcc status was changed to okay by default in the platform, no need
to do it again in the board.

Fixes: 2ce38cc1e8fe ("arm64: dts: qcom: sc8180x: Introduce Primus")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612220420.1884631-1-quic_bjorande@quicinc.com
14 months agoarm64: dts: qcom: sm8550: add display port nodes
Neil Armstrong [Tue, 13 Jun 2023 07:30:13 +0000 (09:30 +0200)]
arm64: dts: qcom: sm8550: add display port nodes

Add the Display Port controller subnode to the MDSS node.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-dp-v4-2-ac2c6899d22c@linaro.org
14 months agoarm64: dts: qcom: sm8550: fix low_svs RPMhPD labels
Neil Armstrong [Tue, 13 Jun 2023 07:30:12 +0000 (09:30 +0200)]
arm64: dts: qcom: sm8550: fix low_svs RPMhPD labels

"low" was written "lov", fix this.

Fixes: 99d33ee61cb0 ("arm64: dts: qcom: sm8550: Add missing RPMhPD OPP levels")
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-dp-v4-1-ac2c6899d22c@linaro.org
14 months agoarm64: dts: qcom: sa8540p-ride: Specify ethernet phy OUI
Andrew Halaney [Thu, 8 Jun 2023 20:15:13 +0000 (15:15 -0500)]
arm64: dts: qcom: sa8540p-ride: Specify ethernet phy OUI

With wider usage on more boards, there have been reports of the
following:

    [  315.016174] qcom-ethqos 20000.ethernet eth0: no phy at addr -1
    [  315.016179] qcom-ethqos 20000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)

which has been fairly random and isolated to specific boards.
Early reports were written off as a hardware issue, but it has been
prevalent enough on boards that theory seems unlikely.

In bring up of a newer piece of hardware, similar was seen, but this
time _consistently_. Moving the reset to the mdio bus level (which isn't
exactly a lie, it is the only device on the bus so one could model it as
such) fixed things on that platform. Analysis on sa8540p-ride shows that
the phy's reset is not being handled during the OUI scan if the reset
lives in the phy node:

    # gpio 752 is the reset, and is active low, first mdio reads are the OUI
    modprobe-420     [006] .....   154.738544: mdio_access: stmmac-0 read  phy:0x08 reg:0x02 val:0x0141
    modprobe-420     [007] .....   154.738665: mdio_access: stmmac-0 read  phy:0x08 reg:0x03 val:0x0dd4
    modprobe-420     [004] .....   154.741357: gpio_value: 752 set 1
    modprobe-420     [004] .....   154.741358: gpio_direction: 752 out (0)
    modprobe-420     [004] .....   154.741360: gpio_value: 752 set 0
    modprobe-420     [006] .....   154.762751: gpio_value: 752 set 1
    modprobe-420     [007] .....   154.846857: gpio_value: 752 set 1
    modprobe-420     [004] .....   154.937824: mdio_access: stmmac-0 write phy:0x08 reg:0x0d val:0x0003
    modprobe-420     [004] .....   154.937932: mdio_access: stmmac-0 write phy:0x08 reg:0x0e val:0x0014

Moving it to the bus level, or specifying the OUI in the phy's
compatible ensures the reset is handled before any mdio access
Here is tracing with the OUI approach (which skips scanning the OUI):

    modprobe-549     [007] .....    63.860295: gpio_value: 752 set 1
    modprobe-549     [007] .....    63.860297: gpio_direction: 752 out (0)
    modprobe-549     [007] .....    63.860299: gpio_value: 752 set 0
    modprobe-549     [004] .....    63.882599: gpio_value: 752 set 1
    modprobe-549     [005] .....    63.962132: gpio_value: 752 set 1
    modprobe-549     [006] .....    64.049379: mdio_access: stmmac-0 write phy:0x08 reg:0x0d val:0x0003
    modprobe-549     [006] .....    64.049490: mdio_access: stmmac-0 write phy:0x08 reg:0x0e val:0x0014

The OUI approach is taken given the description matches the situation
perfectly (taken from ethernet-phy.yaml):

    - pattern: "^ethernet-phy-id[a-f0-9]{4}\\.[a-f0-9]{4}$"
      description:
        If the PHY reports an incorrect ID (or none at all) then the
        compatible list may contain an entry with the correct PHY ID
        in the above form.
        The first group of digits is the 16 bit Phy Identifier 1
        register, this is the chip vendor OUI bits 3:18. The
        second group of digits is the Phy Identifier 2 register,
        this is the chip vendor OUI bits 19:24, followed by 10
        bits of a vendor specific ID.

With this in place the sa8540p-ride's phy is probing consistently, so
it seems the floating reset during mdio access was the issue. In either
case, it shouldn't be floating so this improves the situation. The below
link discusses some of the relationship of mdio, its phys, and points to
this OUI compatible as a way to opt out of the OUI scan pre-reset
handling which influenced this decision.

Link: https://lore.kernel.org/all/dca54c57-a3bd-1147-63b2-4631194963f0@gmail.com/
Fixes: 57827e87be54 ("arm64: dts: qcom: sa8540p-ride: Add ethernet nodes")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230608201513.882950-1-ahalaney@redhat.com
15 months agoarm64: dts: qcom: sc8180x: Introduce Lenovo Flex 5G
Bjorn Andersson [Tue, 30 May 2023 16:24:54 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Introduce Lenovo Flex 5G

Introduce support for the Lenovo Flex 5G laptop, built on the Qualcomm
SC8180X platform. Supported peripherals includes keyboard, touchpad,
UFS storage, external USB and WiFi.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-16-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Introduce Primus
Bjorn Andersson [Tue, 30 May 2023 16:24:53 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Introduce Primus

Introduce support for the SC8180X reference device, aka Primus, with
debug UART, regulators, UFS and USB support.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-15-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Add pmics
Vinod Koul [Tue, 30 May 2023 16:24:52 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Add pmics

SC8180X based platforms have PM8150, PM8150C, PMC8180 and SMB2351 PMICs,
so add these as well

Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-14-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Add display and gpu nodes
Vinod Koul [Tue, 30 May 2023 16:24:51 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Add display and gpu nodes

This patch adds gpu, gmu, gpucc, dispcc and finally the mdss node with
dsi0/1, dp0/1 and edp subnodes as found in this SoC

Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-13-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Add remoteprocs, wifi and usb nodes
Vinod Koul [Tue, 30 May 2023 16:24:50 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Add remoteprocs, wifi and usb nodes

This patch adds remoteprocs, wifi and usb and usb phy nodes
for this SoC

Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-12-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Add PCIe instances
Vinod Koul [Tue, 30 May 2023 16:24:49 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Add PCIe instances

This patch adds PCIe instances found on this SoC

Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-11-vkoul@kernel.org
15 months agoarm64: dts: qcom: sc8180x: Add QUPs
Vinod Koul [Tue, 30 May 2023 16:24:48 +0000 (21:54 +0530)]
arm64: dts: qcom: sc8180x: Add QUPs

This patch adds qup instances and i2c, spi, serial ports

Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230530162454.51708-10-vkoul@kernel.org