linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/15] Add support for Samsung Galaxy S4 Mini Value Edition
@ 2021-10-04 20:19 Stephan Gerhold
  2021-10-04 20:19 ` [PATCH v2 01/15] arm64: dts: qcom: Add device tree " Stephan Gerhold
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Stephan Gerhold @ 2021-10-04 20:19 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, linux-arm-msm, Rob Herring, devicetree,
	linux-arm-kernel, ~postmarketos/upstreaming, phone-devel

This series adds support for booting mainline Linux on the Samsung Galaxy
S4 Mini Value Edition. The device is based on the Qualcomm MSM8916 SoC and quite
similar to the already supported Samsung Galaxy A3/A5. With some additional
patches it is almost fully functional, including display, touch screen, GPU,
audio, modem (voice calls, SMS, mobile data) and sensors.

I made most of the patches almost 2 years ago but I was long unsure if I should
submit them upstream. This is because the device has one big limitation:
Samsung released it with a signed 32-bit-only TrustZone firmware which is not
able to boot ARM64 Linux. This means the device can actually only boot ARM32.

However, since device trees are independent of the kernel architecture and all
the necessary drivers compile on ARM32 as well it is actually extremely
straightforward to build an ARM32 kernel for MSM8916 (which is normally arm64).

The only necessary additions are for SMP/cpuidle without PSCI on ARM32. However,
the diffstat below makes it quite obvious that the maintenance overhead for this
is absolutely negligible. The SoC is almost identical to previous 32-bit SoCs
like MSM8226, so it is pretty much just adding new definitions/compatibles for
already existing code.

Being able to boot ARM32 Linux on MSM8916 might be also a possible opportunity
for CI systems. At the moment, 32-bit Qualcomm platforms are not very well
represented there. Booting ARM32 on MSM8916/APQ8016 would allow re-using the
DragonBoard 410c which is often already used for automated CI testing.

Changes in v2:
  - Add missing word in a comment in PATCH 1/15
  - Clarify ARM32 situation in dt-bindings patches

v1: https://lore.kernel.org/phone-devel/20210928171231.12766-1-stephan@gerhold.net/

Lina Iyer (1):
  soc: qcom: spm: Add 8916 SPM register data

Stephan Gerhold (14):
  arm64: dts: qcom: Add device tree for Samsung Galaxy S4 Mini Value
    Edition
  arm64: dts: qcom: msm8916-samsung-serranove: Add touch screen
  arm64: dts: qcom: msm8916-samsung-serranove: Add touch key
  arm64: dts: qcom: msm8916-samsung-serranove: Add IMU
  arm64: dts: qcom: msm8916-samsung-serranove: Add rt5033 battery
  arm64: dts: qcom: msm8916-samsung-serranove: Add NFC
  ARM: qcom: Add ARCH_MSM8916 for MSM8916 on ARM32
  dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method
  ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226
  dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu
  firmware: qcom: scm: Add support for MC boot address API
  arm64: dts: qcom: msm8916: Add CPU ACC and SAW/SPM
  ARM: dts: qcom: msm8916: Add include for SMP without PSCI on ARM32
  ARM: dts: qcom: msm8916-samsung-serranove: Include dts from arm64

 .../devicetree/bindings/arm/cpus.yaml         |   5 +-
 .../bindings/soc/qcom/qcom,spm.yaml           |   1 +
 arch/arm/boot/dts/Makefile                    |   1 +
 .../dts/qcom-msm8916-samsung-serranove.dts    |   3 +
 arch/arm/boot/dts/qcom-msm8916-smp.dtsi       |  62 ++
 arch/arm/mach-qcom/Kconfig                    |  10 +
 arch/arm/mach-qcom/platsmp.c                  |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../dts/qcom/msm8916-samsung-serranove.dts    | 534 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8916.dtsi         |  56 ++
 drivers/firmware/qcom_scm.c                   |  84 ++-
 drivers/firmware/qcom_scm.h                   |   4 +
 drivers/soc/qcom/spm.c                        |  21 +
 13 files changed, 765 insertions(+), 18 deletions(-)
 create mode 100644 arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
 create mode 100644 arch/arm/boot/dts/qcom-msm8916-smp.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts

-- 
2.33.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-10-14 16:40 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-04 20:19 [PATCH v2 00/15] Add support for Samsung Galaxy S4 Mini Value Edition Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 01/15] arm64: dts: qcom: Add device tree " Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 02/15] arm64: dts: qcom: msm8916-samsung-serranove: Add touch screen Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 03/15] arm64: dts: qcom: msm8916-samsung-serranove: Add touch key Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 04/15] arm64: dts: qcom: msm8916-samsung-serranove: Add IMU Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 05/15] arm64: dts: qcom: msm8916-samsung-serranove: Add rt5033 battery Stephan Gerhold
2021-10-04 20:19 ` [PATCH v2 06/15] arm64: dts: qcom: msm8916-samsung-serranove: Add NFC Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 07/15] ARM: qcom: Add ARCH_MSM8916 for MSM8916 on ARM32 Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 08/15] dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method Stephan Gerhold
2021-10-14 16:40   ` Rob Herring
2021-10-04 20:49 ` [PATCH v2 09/15] ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226 Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 10/15] dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 11/15] soc: qcom: spm: Add 8916 SPM register data Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 12/15] firmware: qcom: scm: Add support for MC boot address API Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 13/15] arm64: dts: qcom: msm8916: Add CPU ACC and SAW/SPM Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 14/15] ARM: dts: qcom: msm8916: Add include for SMP without PSCI on ARM32 Stephan Gerhold
2021-10-04 20:49 ` [PATCH v2 15/15] ARM: dts: qcom: msm8916-samsung-serranove: Include dts from arm64 Stephan Gerhold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).