From: kholk11@gmail.com
To: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org, ccross@android.com,
mark.rutland@arm.com, robh+dt@kernel.org, agross@kernel.org,
bjorn.andersson@linaro.org, marijns95@gmail.com,
kholk11@gmail.com
Subject: [PATCH v2 0/5] MSM8976/56 Sony Xperia Loire (X/XCompact) smartphones
Date: Thu, 31 Oct 2019 12:16:40 +0100 [thread overview]
Message-ID: <20191031111645.34777-1-kholk11@gmail.com> (raw)
From: AngeloGioacchino Del Regno <kholk11@gmail.com>
Here it all comes together.
This patch series enables support for MSM8976 and MSM8956 with all
the extra functionality that has been tested and sent upstream and
also adds support for the Sony Xperia Loire platform, including two
devices in the Loire project: the Xperia X (Suzu) and the Xperia
X Compact (Kugo).
That's only a subset of what I actually have in my hat.. I didn't
feel like sending the entire thing because the rest is not perfectly
clean yet (even if working, and we all know that "works != clean").
As for my entire local stuff, here I can successfully boot Android 10
with nice display and 3d on both smartphones.
So, this is composed of:
- A main device-tree for the MSM8976/56 SoC (*)
- Standard configuration for the PM/PMI8950 and PM8004, which are
found on all (from what I know) MSM8976 and 8956 boards, since
that seems to be the recommended hardware configuration from qcom
- A main device-tree for the Sony Xperia Loire project (**)
- Device specific device-trees for Loire Kugo and Loire Suzu. (***)
(*) The MSM8956 SoC is a "broken" MSM8976. It has got two *disabled*
BIG cores and you can't preventively know which ones are enabled
and which ones are not: there you only know that you've got two.
So, you can get any combination of disabled cores (relative to
cluster 1, it can be 0,1 or 1,2 or 2,3 or 0,3 or 1,3.. etc) on
the chip that you own.
After many trials on (various) downstream kernels and a number of
devices, I have concluded that the only way to get both the enabled
big cores up is to actually declare all four and let Linux error
out on the disabled cores (and - of course - never use them), mostly
because there doesn't seem to be any register that can be read for
that purpose... may sound stupid, but ... eh :)
(**) The Sony Xperia Loire platform is composed of 3 devices with their
specific region variants, specifically, two MSM8956 smartphones
(Suzu, Kugo) and one APQ8056 smart projector (Blanc). All these
devices reuse the same base board design, so I thought that it is
just better to create a common DT for all of them, hence avoiding
a whole lot of code duplication.
P.S.: I don't know if I'll ever try to upstream the SmartLoire
APQ8056 Xperia Touch projector. I hope to have time to do
it as it's a great device and I really want to but, as of
now, I can't make any promise about that specific device.
(***) These DTs are now very light, but they will contain some
more nodes as I get more components upstreamed. For example, the
X Compact (Kugo) smartphone has Type-C through the FUSB301 chip,
which resides on i2c, a RGBC-IR sensor and a VL53L0 ToF, while X
(Suzu) has just MicroUSB and none of these sensors.
These devices also are of a different form factor, so they've got
different displays but connected to the same power rails anyway.
Changes in v2 (all changes requested by Bjorn):
- Reordered DT nodes by address and padded them to 8 digits
- Dropped useless inner subnodes for pinctrl configurations
- Removed the forgotten useless "qcom,init-voltage" property
- Moved BLSP2 UART2 node to main DT, declared as disabled
- Refactored SDC related pinctrl nodes as suggested
- Deleted msm8976-pins DT, moved stripped-to-the-bone pinctrl
in msm8976.dtsi, plus remaining board-specific nodes in the
loire board dtsi
- Removed the split mux/config in pinctrl nodes
- Added explicit "qcom,scm-msm8976" to the scm node
- Removed PM8950 regulators configuration skeleton from msm8976.dtsi
and moved the entire thing to board specific files (in this
case, msm8956-sony-xperia-loire.dtsi)
- Moved non-mmio nodes from /soc to /
- Removed the remoteproc/hexagon configuration completely, as it
was just a forgotten node from various tests that I did on the
platform (sorry guys -- plan is now to enable modem and hexagon
in a future patch series)
- Fixed trailing whitespace issues in xperia-loire DT.
AngeloGioacchino Del Regno (5):
dt-bindings: iio: spmi-vadc: Add definitions for USB DP/DM VADCs
arm64: dts: pm8004: Add SPMI regulator and add phandles to lsids
arm64: dts: qcom: Add configuration for PM8950 and PMI8950 peripherals
arm64: dts: qcom: Add MSM8976 SoC support dts files
arm64: dts: qcom: Add Sony Xperia (Loire) X and X Compact support
arch/arm64/boot/dts/qcom/Makefile | 2 +
.../qcom/msm8956-sony-xperia-loire-kugo.dts | 56 +
.../qcom/msm8956-sony-xperia-loire-suzu.dts | 17 +
.../dts/qcom/msm8956-sony-xperia-loire.dtsi | 744 +++++++
arch/arm64/boot/dts/qcom/msm8976.dtsi | 1705 +++++++++++++++++
arch/arm64/boot/dts/qcom/pm8004.dtsi | 10 +-
arch/arm64/boot/dts/qcom/pm8950.dtsi | 187 ++
arch/arm64/boot/dts/qcom/pmi8950.dtsi | 98 +
include/dt-bindings/iio/qcom,spmi-vadc.h | 3 +
9 files changed, 2820 insertions(+), 2 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts
create mode 100644 arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-suzu.dts
create mode 100644 arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/msm8976.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/pm8950.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/pmi8950.dtsi
--
2.21.0
next reply other threads:[~2019-10-31 11:16 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-31 11:16 kholk11 [this message]
2019-10-31 11:16 ` [PATCH v2 1/5] dt-bindings: iio: spmi-vadc: Add definitions for USB DP/DM VADCs kholk11
2019-11-05 18:42 ` Rob Herring
2019-11-06 17:54 ` AngeloGioacchino Del Regno
2019-10-31 11:16 ` [PATCH v2 2/5] arm64: dts: pm8004: Add SPMI regulator and add phandles to lsids kholk11
2019-10-31 11:16 ` [PATCH v2 3/5] arm64: dts: qcom: Add configuration for PM8950 and PMI8950 peripherals kholk11
2019-10-31 19:58 ` Brian Masney
2019-11-05 11:18 ` AngeloGioacchino Del Regno
2019-11-05 12:47 ` Brian Masney
2019-10-31 11:16 ` [PATCH v2 4/5] arm64: dts: qcom: Add MSM8976 SoC support dts files kholk11
2019-12-10 18:12 ` Amit Kucheria
2019-10-31 11:16 ` [PATCH v2 5/5] arm64: dts: qcom: Add Sony Xperia (Loire) X and X Compact support kholk11
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191031111645.34777-1-kholk11@gmail.com \
--to=kholk11@gmail.com \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=ccross@android.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=marijns95@gmail.com \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).