[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240828203721.2751904-1-quic_nkela@quicinc.com>
Date: Wed, 28 Aug 2024 13:36:59 -0700
From: Nikunj Kela <quic_nkela@...cinc.com>
To: <andersson@...nel.org>, <konradybcio@...nel.org>, <robh@...nel.org>,
<krzk+dt@...nel.org>, <conor+dt@...nel.org>, <rafael@...nel.org>,
<viresh.kumar@...aro.org>, <herbert@...dor.apana.org.au>,
<davem@...emloft.net>, <sudeep.holla@....com>, <andi.shyti@...nel.org>,
<tglx@...utronix.de>, <will@...nel.org>, <joro@...tes.org>,
<jassisinghbrar@...il.com>, <lee@...nel.org>,
<linus.walleij@...aro.org>, <amitk@...nel.org>,
<thara.gopinath@...il.com>, <broonie@...nel.org>,
<wim@...ux-watchdog.org>, <linux@...ck-us.net>
CC: <robin.murphy@....com>, <cristian.marussi@....com>, <rui.zhang@...el.com>,
<lukasz.luba@....com>, <vkoul@...nel.org>, <quic_gurus@...cinc.com>,
<agross@...nel.org>, <bartosz.golaszewski@...aro.org>,
<quic_rjendra@...cinc.com>, <robimarko@...il.com>,
<linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
<linux-crypto@...r.kernel.org>, <arm-scmi@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-i2c@...r.kernel.org>,
<iommu@...ts.linux.dev>, <linux-gpio@...r.kernel.org>,
<linux-serial@...r.kernel.org>, <linux-spi@...r.kernel.org>,
<linux-watchdog@...r.kernel.org>, <kernel@...cinc.com>,
<quic_psodagud@...cinc.com>, <quic_tsoni@...cinc.com>,
<quic_shazhuss@...cinc.com>, Nikunj Kela <quic_nkela@...cinc.com>
Subject: [PATCH 00/22] arm64: qcom: Introduce SA8255p Ride platform
This series enables the support for SA8255p Qualcomm SoC and Ride
platform. This platform uses SCMI power, reset, performance, sensor
protocols for resources(e.g. clocks, regulator, interconnect, phy etc.)
management. SA8255p is a virtual platforms that uses Qualcomm smc/hvc
transport driver.
Multiple virtual SCMI instances are being used to achieve the parallelism.
SCMI platform stack runs in SMP enabled VM hence allows platform to service
multiple resource requests in parallel. Each device is assigned its own
dedicated SCMI channel and Tx/Rx doorbells.
Resource operations are grouped together to achieve better abstraction
and to reduce the number of requests being sent to SCMI platform(server)
thus improving boot time KPIs. This design approach was presented during
LinaroConnect 2024 conference[1].
Architecture:
------------
+--------------------+
| Shared Memory |
| |
| +----------------+ | +----------------------------------+
+----------------------------+ +-+-> ufs-shmem <-+---+ | Linux VM |
| Firmware VM | | | +----------------+ | | | +----------+ +----------+ |
| | | | | | | | UFS | | PCIe | |
| +---------+ f +----------+ | | | | | | | Driver | | Driver | |
| |Drivers <---+ SCMI | | e | | | | | | +--+----^--+ +----------+ |
| | (clks, | g | Server +-+---------------------+ | | | | | | |
| | vreg, +---> | | h | | | b|k | a| l| |
| | gpio, | +--^-----+-+ | | | | | | | |
| | phy, | | | | | | | | | +---v----+----+ +----------+ |
| | etc.) | | | | | | +------------+--+ UFS SCMI | | PCIe SCMI| |
| +---------+ | | | | | | | INSTANCE | | INSTANCE | |
| | | | | +---------------+ | | +-^-----+-----+ +----------+ |
| | | | | | pcie-shmem | | | | | |
+------------------+-----+---+ | +---------------+ | +----+-----+-----------------------+
| | | | | |
| | +--------------------+ | |
d|IRQ i|HVC j|IRQ c|HVC
| | | |
| | | |
+-----------------------+-----v----------------------------------------------------------------------+-----v------------------------------+
| |
| |
| |
| HYPERVISOR |
| |
| |
+-----------------------------------------------------------------------------------------------------------------------------------------+
+--------+ +--------+ +----------+ +-----------+
| CLOCK | | PHY | | UFS | | PCIe |
+--------+ +--------+ +----------+ +-----------+
This series is based on next-20240828.
[1]: https://resources.linaro.org/en/resource/wfnfEwBhRjLV1PEAJoDDte
Nikunj Kela (22):
dt-bindings: arm: qcom: add the SoC ID for SA8255P
soc: qcom: socinfo: add support for SA8255P
dt-bindings: arm: qcom: add SA8255p Ride board
dt-bindings: firmware: qcom,scm: document support for SA8255p
dt-bindings: mailbox: qcom-ipcc: document the support for SA8255p
dt-bindings: watchdog: qcom-wdt: document support on SA8255p
dt-bindings: crypto: qcom,prng: document support for SA8255p
dt-bindings: interrupt-controller: qcom-pdc: document support for
SA8255p
dt-bindings: soc: qcom: aoss-qmp: document support for SA8255p
dt-bindings: pinctrl: document support for SA8255p
pinctrl: qcom: sa8775p: Add support for SA8255p SoC
dt-bindings: cpufreq: qcom-hw: document support for SA8255p
dt-bindings: thermal: tsens: document support on SA8255p
dt-bindings: arm-smmu: document the support on SA8255p
dt-bindings: mfd: qcom,tcsr: document support for SA8255p
dt-bindings: qcom: geni-se: document support for SA8255P
dt-bindings: serial: document support for SA8255p
dt-bindings: spi: document support for SA8255p
dt-bindings: i2c: document support for SA8255p
dt-bindings: firmware: arm,scmi: allow multiple virtual instances
ARM: dt: GIC: add extended SPI specifier
arm64: dts: qcom: Add reduced functional DT for SA8255p Ride platform
.../devicetree/bindings/arm/qcom.yaml | 6 +
.../bindings/cpufreq/cpufreq-qcom-hw.yaml | 1 +
.../devicetree/bindings/crypto/qcom,prng.yaml | 1 +
.../bindings/firmware/arm,scmi.yaml | 2 +-
.../bindings/firmware/qcom,scm.yaml | 2 +
.../bindings/i2c/qcom,i2c-geni-qcom.yaml | 56 +-
.../interrupt-controller/qcom,pdc.yaml | 1 +
.../devicetree/bindings/iommu/arm,smmu.yaml | 3 +
.../bindings/mailbox/qcom-ipcc.yaml | 1 +
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 1 +
.../bindings/pinctrl/qcom,sa8775p-tlmm.yaml | 4 +-
.../serial/qcom,serial-geni-qcom.yaml | 58 +-
.../bindings/soc/qcom/qcom,aoss-qmp.yaml | 1 +
.../bindings/soc/qcom/qcom,geni-se.yaml | 47 +-
.../bindings/spi/qcom,spi-geni-qcom.yaml | 64 +-
.../bindings/thermal/qcom-tsens.yaml | 1 +
.../bindings/watchdog/qcom-wdt.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/sa8255p-pmics.dtsi | 80 +
arch/arm64/boot/dts/qcom/sa8255p-ride.dts | 149 +
arch/arm64/boot/dts/qcom/sa8255p-scmi.dtsi | 2312 ++++++++++++++++
arch/arm64/boot/dts/qcom/sa8255p.dtsi | 2405 +++++++++++++++++
drivers/pinctrl/qcom/pinctrl-sa8775p.c | 1 +
drivers/soc/qcom/socinfo.c | 1 +
include/dt-bindings/arm/qcom,ids.h | 1 +
.../interrupt-controller/arm-gic.h | 1 +
26 files changed, 5157 insertions(+), 44 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-pmics.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-ride.dts
create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-scmi.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/sa8255p.dtsi
base-commit: 195a402a75791e6e0d96d9da27ca77671bc656a8
--
2.34.1
Powered by blists - more mailing lists