Qualcomm ARM64 DeviceTree updates for v6.7

The SM7125 platform is introduced, with support for Xiaomi Redmi Note 9
 Pro. Support for Fairphone 5, on QCM6490, and BQ Aquaris M5, on MSM8939,
 are introduced.
 
 With the various QMP PHY bindings having been refactored, SC7180,
 SC7280, SDM845, SM8150, and SM8250 are transitioned to the new USB/DP
 combo PHY binding. IPQ6018, IPQ8074 MSM8998, SC7280, SC8180X, SDM845,
 SM8150, SM8250, and SM8450 are transitioned to the new PCIe PHY binding,
 and SC8180X is transitioned to the new UFS phy binding.
 
 The UFS power supply situation is clarified, and a range of boards
 across MSM8996, MSM8998, SM4250, SM6115, SM6125, SM8350, SM8450, and
 SM8550 receives corrections for this.
 
 On IPQ5018 watchdog support is introduced, and the SCM driver has SDI
 (debug image) enabled - so that it can be disabled. On IPQ5332 USB is
 enabled. The hwspinlock identifier is corrected across IPQ5332, IPQ6018,
 IPQ8074 and IPQ9574.
 
 The reserved-memory ranges for the remoteprocs on MSM8916 boards are
 refactored, to reduce the amount of duplicated boilerplate definitions.
 A number of nodes are transitioned to be disabled by default, to
 facilitate new boards.
 Samsung Galaxy Tab A 8.0 and Samsung Galaxy Tab A 9.7 gains display
 support, and the latter capacitive keys. Samsung Galaxy J5 gains
 accelerometer support. The Dragonboard 410c gains missing ADC7533
 regulator definition, and an overlay forcing the board to operate in
 host mode, for automation purposes.
 
 On MSM8976, the outgoing IPC bits for modem and wcss are corrected, and
 reserved-memory regions are updated.
 
 Incorrect reserved-memory regions are also corrected for MSM8992 and
 MSM8994 devices.
 
 The QRB2210 RB1 board gets debug UART moved per hardware update.
 regulator voltage ranges are corrected, remoteprocs are enabled, USB
 SuperSpeed PHY is enabled, and GPIO LEDs are introduced for Bluetooth,
 WiFi and a user LED.
 
 Interrupts are described for the SGMII PHYs on SA8775P Ride platform,
 and the inline crypto engine is introduced for UFS.
 
 On SC7180 the audio DSP remoteproc is introduced. Additional SKUs of the
 Lazor boards are added.The RT5682 audio codec part is reorganized to be
 easier to maintain. On Trogdor devices, the touchscreen and display
 panels are linked to improve the power cycling behavior across the two.
 
 On SC7280 the cpuidle states are rewritten to support OS-initiated PCSI
 mode. LMH interrupts are added, to receive feedback when throttling
 occurs. The embedded usb debugger (EUD) description  and the dummy
 usb-c-connector node is removed, as this is not correctly described. The
 USB3 pipe clock input of the global clock controller is properly
 described.
 
 Modem remoteproc is introduced on SDM630, and the SDM670 PDC mapping is
 corrected.
 
 On the SDM845 MTP PCIe support is introduced. The volumn down and reset
 buttons are defined. Remoteproc firmware names and the WiFI
 configuration is corrected.
 On Sony Xperia XZ2, XZ2 Compact, and XZ3 GPIO lines names are provided
 for TLMM and PMICs. The camera regulators are also added.
 
 Display hardware blocks are added to SM6125, and enabled on Sony Xperia
 10 II.
 
 The ref clock is wired up to PCIe PHY on SM8150.
 
 On SM8250/QRB5165, and the RB5 board, the DisplayPort controller and the
 TCPM is introduced, with all the plumbing to get USB role and
 orientation switching, as well as DisplayPort altmode to work.
 Interconnects and power-domains are also described for the QUPs on this
 platform.
 
 Previously ignored PMICs are described for the SM8350 Hardware
 Development Kit (HDK), and PMR735a regulators are introduced. The
 pinctrl state for uart18 is corrected.
 
 On SM8450 HDK audio routes are corrected, to enable the analog
 microphones on the board. The addition of the PRNG is reverted, in favor
 of an upcoming additon of a true RNG.
 
 Constants are replaced with QCOM_SCM_VMID_* defines on a variety of
 boards.
 
 The SM8550 QRD board gets Bluetooth support, and the camera clock
 controller is described.
 
 Additionally, a number of fixes are introduced in a variety of platforms
 and boards, to align with Devicetree bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmUsOR4VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FGQwP/j4xZY9E2lwB50BCFU7xtHSLHyf/
 HcUx6HjtUwvXj1ernoKLEykp6Vzpp+vn2mpuBmTYzXmi96rC8kQ9Ai/uNTt7IU1J
 xta08EoYDYyjXUoyQdjOav2VFJ60BK18pM4FIHECmx8zzoFkVzV1+rgH7ry1JX0I
 RV+NgTRNb3WphP7QCQk6iMIF4BUbiRp5FdqdpyxgxrHLFfhhvHeT1S+cqZ7DQ0nZ
 k72UuTeVyXXfihouJS2wnky69eA83YmOpBYoRvdBOvBtUS2GgCwcmCH4nXlDbzF+
 GkvVw5mmRmyXhpDK5bDhBsqJzbh0IDrjWMw/rgL356ZBAsc7hmlyA3s512L0qggj
 c5lj2VYKU3ebZwab4IhdO5zShXPyyqmkrRzRblMi5NXanK+2Dypt8a88N/djSwxJ
 3EH2rs4R2pRHITxH7u3J9qsqTFUR8jFanw/MJQvQHXLSAJJF6zpwinOsio7jup5x
 uMx3Ty1wNKMpzR0GGmfRkd0UEyQN0+yPDPesPIbr2B3I6ZMAXmHD+eLhpbL5Riw9
 DZAAzaEeERTRNaZ7GMC3g7jxwdnjrC5q8f7MKPYfvUjkQdMLzhH3GZmm3o4fN5Bo
 rDVx7alUOblvLViBZBfQIbw5GX+Yq38ow4KxeKTnT0WOaXchZxISKeeu7Gn8I+2j
 DgG7/KMpjbzmKDRM
 =zgxm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtOv0ACgkQYKtH/8kJ
 UifMew/+MWcU1rn8D9083g00Hb9mqeCSNUp9o6B2AL0DZea9ABjWs/IQo5suRnMe
 TxQgnkgA+0nVCdfmF3spcMJ39D3gzaWnHGeMr1LsGsbMRmXVfBcWzpgkpRB2k2iE
 PxcpLpVWrrIjwhqtqcy8X4BGaDaVRA7jFGh810/tF9Avp74ndq4lXYNhf2/MmvuW
 iqGztm0n2Qua97dbP/Lyg4zmMMUT9i7QiuToxeJZuqg36am0OkXynsNT8wmwQuO2
 pvz9ul2sofIq677VUTMZgxmDl4QM4h+/qkeUwaBjvFOpEtaqjwynBcf1RBCzmMsj
 5/pWzypNUh0ELSbGiiDpwlTh9Blq4BY8Lt1tOXFBHXVe5Nee2KS79IVTcLxOFM0i
 e1K68r3kw/yzFwCgKBCfP3qzRCmUHeTDI0KTrL3erPMAhIB06TKlgNn+QPot2dti
 SkBj/zyXAtfxh6NYPKSQHKvJsun9BsO5ZML0Wo58U+hSm1W53zYmjMVKEJJux3N7
 31OECKmqzipo3PLEc0rcMJ0HMmPQR+YdGpfXP3IaDiT6o2Ea2LN4kSavCOrUbnec
 asg6LHcuDvmbarfBSfDeSAEcI4c6ZCs9LXTStkiB/K17sOZvFW1UO1pQmChK5EVA
 K8nSBBgeL1RnGTXM7IGJTbI9WJi00+mDS5gG5Kwq9x7GxsDtWuk=
 =9WsA
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

Qualcomm ARM64 DeviceTree updates for v6.7

The SM7125 platform is introduced, with support for Xiaomi Redmi Note 9
Pro. Support for Fairphone 5, on QCM6490, and BQ Aquaris M5, on MSM8939,
are introduced.

With the various QMP PHY bindings having been refactored, SC7180,
SC7280, SDM845, SM8150, and SM8250 are transitioned to the new USB/DP
combo PHY binding. IPQ6018, IPQ8074 MSM8998, SC7280, SC8180X, SDM845,
SM8150, SM8250, and SM8450 are transitioned to the new PCIe PHY binding,
and SC8180X is transitioned to the new UFS phy binding.

The UFS power supply situation is clarified, and a range of boards
across MSM8996, MSM8998, SM4250, SM6115, SM6125, SM8350, SM8450, and
SM8550 receives corrections for this.

On IPQ5018 watchdog support is introduced, and the SCM driver has SDI
(debug image) enabled - so that it can be disabled. On IPQ5332 USB is
enabled. The hwspinlock identifier is corrected across IPQ5332, IPQ6018,
IPQ8074 and IPQ9574.

The reserved-memory ranges for the remoteprocs on MSM8916 boards are
refactored, to reduce the amount of duplicated boilerplate definitions.
A number of nodes are transitioned to be disabled by default, to
facilitate new boards.
Samsung Galaxy Tab A 8.0 and Samsung Galaxy Tab A 9.7 gains display
support, and the latter capacitive keys. Samsung Galaxy J5 gains
accelerometer support. The Dragonboard 410c gains missing ADC7533
regulator definition, and an overlay forcing the board to operate in
host mode, for automation purposes.

On MSM8976, the outgoing IPC bits for modem and wcss are corrected, and
reserved-memory regions are updated.

Incorrect reserved-memory regions are also corrected for MSM8992 and
MSM8994 devices.

The QRB2210 RB1 board gets debug UART moved per hardware update.
regulator voltage ranges are corrected, remoteprocs are enabled, USB
SuperSpeed PHY is enabled, and GPIO LEDs are introduced for Bluetooth,
WiFi and a user LED.

Interrupts are described for the SGMII PHYs on SA8775P Ride platform,
and the inline crypto engine is introduced for UFS.

On SC7180 the audio DSP remoteproc is introduced. Additional SKUs of the
Lazor boards are added.The RT5682 audio codec part is reorganized to be
easier to maintain. On Trogdor devices, the touchscreen and display
panels are linked to improve the power cycling behavior across the two.

On SC7280 the cpuidle states are rewritten to support OS-initiated PCSI
mode. LMH interrupts are added, to receive feedback when throttling
occurs. The embedded usb debugger (EUD) description  and the dummy
usb-c-connector node is removed, as this is not correctly described. The
USB3 pipe clock input of the global clock controller is properly
described.

Modem remoteproc is introduced on SDM630, and the SDM670 PDC mapping is
corrected.

On the SDM845 MTP PCIe support is introduced. The volumn down and reset
buttons are defined. Remoteproc firmware names and the WiFI
configuration is corrected.
On Sony Xperia XZ2, XZ2 Compact, and XZ3 GPIO lines names are provided
for TLMM and PMICs. The camera regulators are also added.

Display hardware blocks are added to SM6125, and enabled on Sony Xperia
10 II.

The ref clock is wired up to PCIe PHY on SM8150.

On SM8250/QRB5165, and the RB5 board, the DisplayPort controller and the
TCPM is introduced, with all the plumbing to get USB role and
orientation switching, as well as DisplayPort altmode to work.
Interconnects and power-domains are also described for the QUPs on this
platform.

Previously ignored PMICs are described for the SM8350 Hardware
Development Kit (HDK), and PMR735a regulators are introduced. The
pinctrl state for uart18 is corrected.

On SM8450 HDK audio routes are corrected, to enable the analog
microphones on the board. The addition of the PRNG is reverted, in favor
of an upcoming additon of a true RNG.

Constants are replaced with QCOM_SCM_VMID_* defines on a variety of
boards.

The SM8550 QRD board gets Bluetooth support, and the camera clock
controller is described.

Additionally, a number of fixes are introduced in a variety of platforms
and boards, to align with Devicetree bindings.

* tag 'qcom-arm64-for-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (148 commits)
  arm64: dts: qcom: apq8016-sbc: Add missing ADV7533 regulators
  ARM: dts: qcom: sdx65-mtp: Specify PM7250B SID to use
  arm64: dts: qcom: apq8016-sbc: Add overlay for usb host mode
  arm64: dts: qcom: qcm6490: Add device-tree for Fairphone 5
  dt-bindings: arm: qcom: Add QCM6490 Fairphone 5
  arm64: dts: qcom: pm8350c: Add flash led node
  arm64: dts: qcom: pm7250b: make SID configurable
  arm64: dts: qcom: sc7280: Mark some nodes as 'reserved'
  arm64: dts: qcom: msm8939: Fix iommu local address range
  arm64: dts: qcom: ipq5018: indicate that SDI should be disabled
  arm64: dts: qcom: msm8976: Fix ipc bit shifts
  arm64: dts: qcom: msm8976: Split lpass region
  arm64: dts: qcom: pm8150l: Add wled node
  arm64: dts: qcom: sa8775p: enable the inline crypto engine
  arm64: dts: qcom: msm8916/39: Fix venus memory size
  arm64: dts: qcom: msm8916/39: Move mpss_mem size to boards
  arm64: dts: qcom: msm8916/39: Disable unneeded firmware reservations
  arm64: dts: qcom: msm8939: Reserve firmware memory dynamically
  arm64: dts: qcom: msm8916: Reserve MBA memory dynamically
  arm64: dts: qcom: msm8916: Reserve firmware memory dynamically
  ...

Link: https://lore.kernel.org/r/20231015191107.854658-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-10-16 15:29:48 +02:00
commit 68f1d4198c
150 changed files with 8899 additions and 982 deletions

View file

@ -50,6 +50,7 @@ description: |
msm8998
qcs404
qcm2290
qcm6490
qdu1000
qrb2210
qrb4210
@ -79,6 +80,7 @@ description: |
sm6125
sm6350
sm6375
sm7125
sm7225
sm8150
sm8250
@ -189,6 +191,7 @@ properties:
- items:
- enum:
- longcheer,l9100
- samsung,a7
- sony,kanuti-tulip
- square,apq8039-t2
@ -391,6 +394,11 @@ properties:
- const: qcom,qrb2210
- const: qcom,qcm2290
- items:
- enum:
- fairphone,fp5
- const: qcom,qcm6490
- description: Qualcomm Technologies, Inc. Distributed Unit 1000 platform
items:
- enum:
@ -479,6 +487,11 @@ properties:
- const: google,lazor-rev8
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 (rev9)
items:
- const: google,lazor-rev9
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 (newest rev)
items:
- const: google,lazor
@ -500,6 +513,11 @@ properties:
- const: google,lazor-rev8-sku2
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 with KB Backlight (rev9)
items:
- const: google,lazor-rev9-sku2
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 with KB Backlight (newest rev)
items:
- const: google,lazor-sku2
@ -521,9 +539,16 @@ properties:
- const: google,lazor-rev8-sku0
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 with LTE (rev9)
items:
- const: google,lazor-rev9-sku0
- const: google,lazor-rev9-sku10
- const: qcom,sc7180
- description: Acer Chromebook Spin 513 with LTE (newest rev)
items:
- const: google,lazor-sku0
- const: google,lazor-sku10
- const: qcom,sc7180
- description: Acer Chromebook 511 (rev4 - rev8)
@ -535,9 +560,16 @@ properties:
- const: google,lazor-rev8-sku4
- const: qcom,sc7180
- description: Acer Chromebook 511 (rev9)
items:
- const: google,lazor-rev9-sku4
- const: google,lazor-rev9-sku15
- const: qcom,sc7180
- description: Acer Chromebook 511 (newest rev)
items:
- const: google,lazor-sku4
- const: google,lazor-sku15
- const: qcom,sc7180
- description: Acer Chromebook 511 without Touchscreen (rev4)
@ -554,9 +586,16 @@ properties:
- const: google,lazor-rev8-sku6
- const: qcom,sc7180
- description: Acer Chromebook 511 without Touchscreen (rev9)
items:
- const: google,lazor-rev9-sku6
- const: google,lazor-rev9-sku18
- const: qcom,sc7180
- description: Acer Chromebook 511 without Touchscreen (newest rev)
items:
- const: google,lazor-sku6
- const: google,lazor-sku18
- const: qcom,sc7180
- description: Google Mrbland with AUO panel (rev0)
@ -943,6 +982,11 @@ properties:
- sony,pdx225
- const: qcom,sm6375
- items:
- enum:
- xiaomi,joyeuse
- const: qcom,sm7125
- items:
- enum:
- fairphone,fp4
@ -1086,6 +1130,7 @@ allOf:
- qcom,sm6115
- qcom,sm6125
- qcom,sm6350
- qcom,sm7125
- qcom,sm7225
- qcom,sm8150
- qcom,sm8250

View file

@ -13,11 +13,15 @@ description: |
Qualcomm camera clock control module provides the clocks, resets and power
domains on SM8450.
See also:: include/dt-bindings/clock/qcom,sm8450-camcc.h
See also::
include/dt-bindings/clock/qcom,sm8450-camcc.h
include/dt-bindings/clock/qcom,sm8550-camcc.h
properties:
compatible:
const: qcom,sm8450-camcc
enum:
- qcom,sm8450-camcc
- qcom,sm8550-camcc
clocks:
items:

View file

@ -4,6 +4,10 @@
*/
/dts-v1/;
/* PM7250B is configured to use SID2/3 */
#define PM7250B_SID 2
#define PM7250B_SID1 3
#include "qcom-sdx65.dtsi"
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <arm64/qcom/pmk8350.dtsi>

View file

@ -1,5 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb
apq8016-sbc-usb-host-dtbs := apq8016-sbc.dtb apq8016-sbc-usb-host.dtbo
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc-usb-host.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc-d3-camera-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8039-t2.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb
@ -41,6 +45,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-thwc-uf896.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-thwc-ufi001c.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt88047.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-yiming-uz801v3.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-sony-xperia-kanuti-tulip.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb
@ -81,6 +86,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-lilac.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-maple.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
@ -112,11 +118,16 @@ dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r3-lte.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r9.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r9-kb.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r9-lte.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r10.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r10-kb.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-r10-lte.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-r4.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-r9.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-r10.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-nots-r4.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-nots-r5.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-nots-r9.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-lazor-limozeen-nots-r10.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-pazquel-lte-parade.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-pazquel-lte-ti.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-pazquel-parade.dtb
@ -196,6 +207,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm6125-sony-xperia-seine-pdx201.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-laurel-sprout.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6350-sony-xperia-lena-pdx213.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6375-sony-xperia-murray-pdx225.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm7125-xiaomi-joyeuse.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm7225-fairphone-fp4.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8150-hdk.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8150-microsoft-surface-duo.dtb

View file

@ -0,0 +1,8 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/dts-v1/;
/plugin/;
&usb {
dr_mode = "host";
};

View file

@ -172,6 +172,9 @@ adv_bridge: bridge@39 {
pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
avdd-supply = <&pm8916_l6>;
a2vdd-supply = <&pm8916_l6>;
dvdd-supply = <&pm8916_l6>;
pvdd-supply = <&pm8916_l6>;
v1p2-supply = <&pm8916_l6>;
v3p3-supply = <&pm8916_l17>;
@ -230,6 +233,10 @@ &camss {
status = "okay";
};
&gpu {
status = "okay";
};
&lpass {
status = "okay";
};
@ -238,6 +245,10 @@ &lpass_codec {
status = "okay";
};
&mba_mem {
status = "okay";
};
&mdss {
status = "okay";
};
@ -253,10 +264,13 @@ &mpss {
firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn";
};
&mpss_mem {
status = "okay";
reg = <0x0 0x86800000 0x0 0x2b00000>;
};
&pm8916_codec {
status = "okay";
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "mclk";
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
};
@ -364,6 +378,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
firmware-name = "qcom/apq8016/wcnss.mbn";
@ -377,6 +399,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
/* Enable CoreSight */
&cti0 { status = "okay"; };
&cti1 { status = "okay"; };

View file

@ -131,6 +131,10 @@ &blsp_uart2 {
status = "okay";
};
&gpu {
status = "okay";
};
&lpass {
status = "okay";
};
@ -391,3 +395,7 @@ &wcnss {
&wcnss_iris {
compatible = "qcom,wcn3680";
};
&wcnss_mem {
status = "okay";
};

View file

@ -1091,7 +1091,6 @@ &ufsphy {
vdda-phy-supply = <&vreg_l28a_0p925>;
vdda-pll-supply = <&vreg_l12a_1p8>;
vddp-ref-clk-supply = <&vreg_l25a_1p2>;
};
&ufshc {
@ -1100,6 +1099,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l25a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l25a_1p2>;
vcc-max-microamp = <600000>;
vccq-max-microamp = <450000>;

View file

@ -57,6 +57,7 @@ L2_0: l2-cache {
firmware {
scm {
compatible = "qcom,scm-ipq5018", "qcom,scm";
qcom,sdi-enabled;
};
};
@ -181,6 +182,13 @@ v2m1: v2m@1000 {
};
};
watchdog: watchdog@b017000 {
compatible = "qcom,apss-wdt-ipq5018", "qcom,kpss-wdt";
reg = <0x0b017000 0x40>;
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
clocks = <&sleep_clk>;
};
timer@b120000 {
compatible = "arm,armv7-timer-mem";
reg = <0x0b120000 0x1000>;

View file

@ -12,6 +12,15 @@
/ {
model = "Qualcomm Technologies, Inc. IPQ5332 MI01.6";
compatible = "qcom,ipq5332-ap-mi01.6", "qcom,ipq5332";
regulator_fixed_5p0: regulator-s0500 {
compatible = "regulator-fixed";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <500000>;
regulator-boot-on;
regulator-always-on;
regulator-name = "fixed_5p0";
};
};
&blsp1_spi0 {
@ -79,3 +88,17 @@ spi_0_cs_pins: spi-0-cs-state {
bias-pull-up;
};
};
&usb {
status = "okay";
};
&usb_dwc {
dr_mode = "host";
};
&usbphy0 {
vdd-supply = <&regulator_fixed_5p0>;
status = "okay";
};

View file

@ -135,7 +135,7 @@ smem@4a800000 {
reg = <0x0 0x4a800000 0x0 0x100000>;
no-map;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
};
};
@ -145,6 +145,19 @@ soc@0 {
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
usbphy0: phy@7b000 {
compatible = "qcom,ipq5332-usb-hsphy";
reg = <0x0007b000 0x12c>;
clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>;
resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
#phy-cells = <0>;
status = "disabled";
};
qfprom: efuse@a4000 {
compatible = "qcom,ipq5332-qfprom", "qcom,qfprom";
reg = <0x000a4000 0x721>;
@ -290,6 +303,48 @@ blsp1_spi2: spi@78b7000 {
status = "disabled";
};
usb: usb@8af8800 {
compatible = "qcom,ipq5332-dwc3", "qcom,dwc3";
reg = <0x08af8800 0x400>;
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "hs_phy_irq";
clocks = <&gcc GCC_USB0_MASTER_CLK>,
<&gcc GCC_SNOC_USB_CLK>,
<&gcc GCC_USB0_SLEEP_CLK>,
<&gcc GCC_USB0_MOCK_UTMI_CLK>;
clock-names = "core",
"iface",
"sleep",
"mock_utmi";
resets = <&gcc GCC_USB_BCR>;
qcom,select-utmi-as-pipe-clk;
#address-cells = <1>;
#size-cells = <1>;
ranges;
status = "disabled";
usb_dwc: usb@8a00000 {
compatible = "snps,dwc3";
reg = <0x08a00000 0xe000>;
clocks = <&gcc GCC_USB0_MOCK_UTMI_CLK>;
clock-names = "ref";
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
phy-names = "usb2-phy";
phys = <&usbphy0>;
tx-fifo-resize;
snps,is-utmi-l1-suspend;
snps,hird-threshold = /bits/ 8 <0x0>;
snps,dis_u2_susphy_quirk;
snps,dis_u3_susphy_quirk;
};
};
intc: interrupt-controller@b000000 {
compatible = "qcom,msm-qgic2";
reg = <0x0b000000 0x1000>, /* GICD */

View file

@ -211,7 +211,7 @@ q6_region: memory@4ab00000 {
smem {
compatible = "qcom,smem";
memory-region = <&smem_region>;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
};
soc: soc@0 {
@ -278,33 +278,25 @@ qusb_phy_0: qusb@79000 {
pcie_phy: phy@84000 {
compatible = "qcom,ipq6018-qmp-pcie-phy";
reg = <0x0 0x00084000 0x0 0x1bc>; /* Serdes PLL */
reg = <0x0 0x00084000 0x0 0x1000>;
status = "disabled";
#address-cells = <2>;
#size-cells = <2>;
ranges;
clocks = <&gcc GCC_PCIE0_AUX_CLK>,
<&gcc GCC_PCIE0_AHB_CLK>;
clock-names = "aux", "cfg_ahb";
<&gcc GCC_PCIE0_AHB_CLK>,
<&gcc GCC_PCIE0_PIPE_CLK>;
clock-names = "aux",
"cfg_ahb",
"pipe";
clock-output-names = "gcc_pcie0_pipe_clk_src";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_PCIE0_PHY_BCR>,
<&gcc GCC_PCIE0PHY_PHY_BCR>;
reset-names = "phy",
"common";
pcie_phy0: phy@84200 {
reg = <0x0 0x00084200 0x0 0x16c>, /* Serdes Tx */
<0x0 0x00084400 0x0 0x200>, /* Serdes Rx */
<0x0 0x00084800 0x0 0x1f0>, /* PCS: Lane0, COM, PCIE */
<0x0 0x00084c00 0x0 0xf4>; /* pcs_misc */
#phy-cells = <0>;
clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "gcc_pcie0_pipe_clk_src";
#clock-cells = <0>;
};
};
mdio: mdio@90000 {
@ -393,7 +385,7 @@ gcc: gcc@1800000 {
tcsr_mutex: hwlock@1905000 {
compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex";
reg = <0x0 0x01905000 0x0 0x1000>;
reg = <0x0 0x01905000 0x0 0x20000>;
#hwlock-cells = <1>;
};
@ -756,7 +748,7 @@ pcie0: pci@20000000 {
#address-cells = <3>;
#size-cells = <2>;
phys = <&pcie_phy0>;
phys = <&pcie_phy>;
phy-names = "pciephy";
ranges = <0x81000000 0x0 0x00000000 0x0 0x20200000 0x0 0x10000>,

View file

@ -101,7 +101,7 @@ smem@4ab00000 {
reg = <0x0 0x4ab00000 0x0 0x100000>;
no-map;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
};
memory@4ac00000 {
@ -211,59 +211,48 @@ qusb_phy_0: phy@79000 {
pcie_qmp0: phy@84000 {
compatible = "qcom,ipq8074-qmp-gen3-pcie-phy";
reg = <0x00084000 0x1bc>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x00084000 0x1000>;
clocks = <&gcc GCC_PCIE0_AUX_CLK>,
<&gcc GCC_PCIE0_AHB_CLK>;
clock-names = "aux", "cfg_ahb";
<&gcc GCC_PCIE0_AHB_CLK>,
<&gcc GCC_PCIE0_PIPE_CLK>;
clock-names = "aux",
"cfg_ahb",
"pipe";
clock-output-names = "pcie20_phy0_pipe_clk";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_PCIE0_PHY_BCR>,
<&gcc GCC_PCIE0PHY_PHY_BCR>;
<&gcc GCC_PCIE0PHY_PHY_BCR>;
reset-names = "phy",
"common";
status = "disabled";
pcie_phy0: phy@84200 {
reg = <0x84200 0x16c>,
<0x84400 0x200>,
<0x84800 0x1f0>,
<0x84c00 0xf4>;
#phy-cells = <0>;
#clock-cells = <0>;
clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "pcie20_phy0_pipe_clk";
};
};
pcie_qmp1: phy@8e000 {
compatible = "qcom,ipq8074-qmp-pcie-phy";
reg = <0x0008e000 0x1c4>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x0008e000 0x1000>;
clocks = <&gcc GCC_PCIE1_AUX_CLK>,
<&gcc GCC_PCIE1_AHB_CLK>;
clock-names = "aux", "cfg_ahb";
<&gcc GCC_PCIE1_AHB_CLK>,
<&gcc GCC_PCIE1_PIPE_CLK>;
clock-names = "aux",
"cfg_ahb",
"pipe";
clock-output-names = "pcie20_phy1_pipe_clk";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_PCIE1_PHY_BCR>,
<&gcc GCC_PCIE1PHY_PHY_BCR>;
<&gcc GCC_PCIE1PHY_PHY_BCR>;
reset-names = "phy",
"common";
status = "disabled";
pcie_phy1: phy@8e200 {
reg = <0x8e200 0x130>,
<0x8e400 0x200>,
<0x8e800 0x1f8>;
#phy-cells = <0>;
#clock-cells = <0>;
clocks = <&gcc GCC_PCIE1_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "pcie20_phy1_pipe_clk";
};
};
mdio: mdio@90000 {
@ -807,7 +796,7 @@ pcie1: pci@10000000 {
#address-cells = <3>;
#size-cells = <2>;
phys = <&pcie_phy1>;
phys = <&pcie_qmp1>;
phy-names = "pciephy";
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
@ -869,7 +858,7 @@ pcie0: pci@20000000 {
#address-cells = <3>;
#size-cells = <2>;
phys = <&pcie_phy0>;
phys = <&pcie_qmp0>;
phy-names = "pciephy";
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */

View file

@ -195,7 +195,7 @@ tz_region: tz@4a600000 {
smem@4aa00000 {
compatible = "qcom,smem";
reg = <0x0 0x4aa00000 0x0 0x100000>;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
no-map;
};
};

View file

@ -155,6 +155,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -163,6 +171,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";

View file

@ -192,6 +192,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -200,6 +208,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio31";

View file

@ -160,6 +160,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -168,6 +176,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
gpio_keys_default: gpio-keys-default-state {
pins = "gpio107", "gpio117";

View file

@ -150,6 +150,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -158,6 +166,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
camera_flash_default: camera-flash-default-state {
pins = "gpio31", "gpio32";

View file

@ -328,6 +328,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -336,6 +344,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_irq_default: accel-irq-default-state {
pins = "gpio115";

View file

@ -23,9 +23,14 @@ chosen {
stdout-path = "serial0";
};
/*
* For some reason, the signed wcnss firmware is not relocatable.
* It must be loaded at 0x8b600000. All other firmware is relocatable,
* so place wcnss at the fixed address and then all other firmware
* regions will be automatically allocated at a fitting place.
*/
reserved-memory {
/* wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000 */
/delete-node/ wcnss@89300000;
/delete-node/ wcnss;
wcnss_mem: wcnss@8b600000 {
reg = <0x0 0x8b600000 0x0 0x600000>;
@ -259,6 +264,14 @@ &usb_hs_phy {
extcon = <&pm8916_usbin>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -267,6 +280,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio116";

View file

@ -146,6 +146,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -154,6 +162,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
button_backlight_default: button-backlight-default-state {
pins = "gpio17";

View file

@ -239,6 +239,10 @@ &blsp_uart2 {
status = "okay";
};
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
@ -284,6 +288,14 @@ &usb_hs_phy {
extcon = <&muic>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";

View file

@ -120,6 +120,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
panel_vdd3_default: panel-vdd3-default-state {
pins = "gpio9";

View file

@ -71,6 +71,10 @@ &wcnss_iris {
compatible = "qcom,wcn3660b";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
tkey_en_default: tkey-en-default-state {
pins = "gpio97";

View file

@ -83,6 +83,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
tkey_en_default: tkey-en-default-state {
pins = "gpio97";

View file

@ -158,6 +158,14 @@ &usb_hs_phy {
extcon = <&pm8916_usbin>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -166,6 +174,10 @@ &wcnss_iris {
compatible = "qcom,wcn3660b";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";

View file

@ -19,6 +19,19 @@ clk_pwm: pwm {
pinctrl-names = "default";
};
reg_lcd_vmipi: regulator-lcd-vmipi {
compatible = "regulator-fixed";
regulator-name = "lcd_vmipi";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&tlmm 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&lcd_en_default>;
pinctrl-names = "default";
};
reg_motor_vdd: regulator-motor-vdd {
compatible = "regulator-fixed";
regulator-name = "motor_vdd";
@ -55,6 +68,19 @@ reg_tsp_3p3v: regulator-tsp-3p3v {
enable-active-high;
};
reg_vlcd_5p4v: regulator-vlcd-5p4v {
compatible = "regulator-fixed";
regulator-name = "vlcd_5p4v";
regulator-min-microvolt = <5400000>;
regulator-max-microvolt = <5400000>;
gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&buckbooster_en_default>;
pinctrl-names = "default";
};
vibrator {
compatible = "pwm-vibrator";
@ -81,10 +107,49 @@ touchscreen@4a {
pinctrl-0 = <&tsp_int_rst_default>;
pinctrl-names = "default";
linux,keycodes = <KEY_APPSELECT KEY_BACK>;
};
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
pinctrl-0 = <&mdss_default>;
pinctrl-1 = <&mdss_sleep>;
pinctrl-names = "default", "sleep";
panel@0 {
compatible = "samsung,ltl101at01", "samsung,s6d7aa0";
reg = <0>;
power-supply = <&reg_vlcd_5p4v>;
vmipi-supply = <&reg_lcd_vmipi>;
reset-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
port {
panel_in: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&mdss_dsi0_out {
data-lanes = <0 1 2 3>;
remote-endpoint = <&panel_in>;
};
&tlmm {
buckbooster_en_default: buckbooster-en-default-state {
pins = "gpio51";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
motor_en_default: motor-en-default-state {
pins = "gpio76";
function = "gpio";
@ -97,6 +162,27 @@ motor_pwm_default: motor-pwm-default-state {
function = "gcc_gp2_clk_a";
};
lcd_en_default: lcd-en-default-state {
pins = "gpio8";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
mdss_default: mdss-default-state {
pins = "gpio97";
function = "gpio";
drive-strength = <8>;
bias-disable;
};
mdss_sleep: mdss-sleep-state {
pins = "gpio97";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
tsp_en_default: tsp-en-default-state {
pins = "gpio73";
function = "gpio";

View file

@ -9,6 +9,19 @@ / {
compatible = "samsung,gt58", "qcom,msm8916";
chassis-type = "tablet";
reg_5p4v: regulator-5p4v {
compatible = "regulator-fixed";
regulator-name = "vlcd_5p4v";
regulator-min-microvolt = <5400000>;
regulator-max-microvolt = <5400000>;
gpio = <&tlmm 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&buckbooster_en_default>;
pinctrl-names = "default";
};
reg_vdd_tsp: regulator-vdd-tsp {
compatible = "regulator-fixed";
regulator-name = "vdd_tsp";
@ -51,7 +64,58 @@ touchscreen@20 {
};
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
pinctrl-0 = <&mdss_default>;
pinctrl-1 = <&mdss_sleep>;
pinctrl-names = "default", "sleep";
panel@0 {
compatible = "samsung,lsl080al03", "samsung,s6d7aa0";
reg = <0>;
power-supply = <&reg_5p4v>;
vmipi-supply = <&pm8916_l5>;
reset-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
port {
panel_in: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&mdss_dsi0_out {
data-lanes = <0 1 2 3>;
remote-endpoint = <&panel_in>;
};
&tlmm {
buckbooster_en_default: buckbooster-en-default-state {
pins = "gpio8";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
mdss_default: mdss-default-state {
pins = "gpio97";
function = "gpio";
drive-strength = <8>;
bias-disable;
};
mdss_sleep: mdss-sleep-state {
pins = "gpio97";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
reg_tsp_en_default: reg-tsp-en-default-state {
pins = "gpio73";
function = "gpio";

View file

@ -84,6 +84,31 @@ muic: extcon@25 {
pinctrl-0 = <&muic_int_default>;
};
};
i2c_sensors: i2c-sensors {
compatible = "i2c-gpio";
sda-gpios = <&tlmm 31 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 32 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-0 = <&sensors_i2c_default>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
accelerometer: accelerometer@1d {
compatible = "st,lis2hh12";
reg = <0x1d>;
interrupts-extended = <&tlmm 115 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-0 = <&accel_int_default>;
pinctrl-names = "default";
st,drdy-int-pin = <1>;
};
};
};
&blsp_i2c5 {
@ -138,6 +163,14 @@ &usb_hs_phy {
extcon = <&muic>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -146,7 +179,18 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
pins = "gpio52";
function = "gpio";
@ -187,6 +231,13 @@ sdc2_cd_default: sdc2-cd-default-state {
bias-disable;
};
sensors_i2c_default: sensors-i2c-default-state {
pins = "gpio31", "gpio32";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_int_default: tsp-int-default-state {
pins = "gpio13";
function = "gpio";

View file

@ -10,6 +10,11 @@ / {
chassis-type = "handset";
};
&accelerometer {
vdd-supply = <&pm8916_l5>;
vddio-supply = <&pm8916_l5>;
};
&blsp_i2c5 {
status = "disabled";
};

View file

@ -23,6 +23,17 @@ reg_vdd_tsp_a: regulator-vdd-tsp-a {
};
};
&accelerometer {
interrupts-extended = <&tlmm 49 IRQ_TYPE_LEVEL_HIGH>;
vdd-supply = <&pm8916_l6>;
vddio-supply = <&pm8916_l6>;
mount-matrix = "0", "-1", "0",
"1", "0", "0",
"0", "0", "-1";
};
&muic {
interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
};
@ -40,6 +51,10 @@ tsp_ldo_en_default: tsp-ldo-en-default-state {
};
};
&accel_int_default {
pins = "gpio49";
};
&muic_int_default {
pins = "gpio121";
};

View file

@ -359,6 +359,14 @@ &usb_hs_phy {
extcon = <&muic>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -367,6 +375,10 @@ &wcnss_iris {
compatible = "qcom,wcn3660b";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
fg_alert_default: fg-alert-default-state {
pins = "gpio121";

View file

@ -17,18 +17,6 @@ chosen {
stdout-path = "serial0";
};
reserved-memory {
mpss_mem: mpss@86800000 {
reg = <0x0 0x86800000 0x0 0x5500000>;
no-map;
};
gps_mem: gps@8bd00000 {
reg = <0x0 0x8bd00000 0x0 0x200000>;
no-map;
};
};
gpio-keys {
compatible = "gpio-keys";
@ -92,10 +80,19 @@ &gcc {
clocks = <&xo_board>, <&sleep_clk>, <0>, <0>, <0>, <0>, <0>;
};
&mba_mem {
status = "okay";
};
&mpss {
status = "okay";
};
&mpss_mem {
reg = <0x0 0x86800000 0x0 0x5500000>;
status = "okay";
};
&pm8916_usbin {
status = "okay";
};
@ -115,6 +112,14 @@ &usb_hs_phy {
extcon = <&pm8916_usbin>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -123,6 +128,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
/* pins are board-specific */
button_default: button-default-state {

View file

@ -189,6 +189,14 @@ &usb_hs_phy {
extcon = <&usb_id>;
};
&venus {
status = "okay";
};
&venus_mem {
status = "okay";
};
&wcnss {
status = "okay";
};
@ -197,6 +205,10 @@ &wcnss_iris {
compatible = "qcom,wcn3620";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
camera_flash_default: camera-flash-default-state {
pins = "gpio31", "gpio32";

View file

@ -74,23 +74,43 @@ rfsa@867e0000 {
};
mpss_mem: mpss@86800000 {
reg = <0x0 0x86800000 0x0 0x2b00000>;
/*
* The memory region for the mpss firmware is generally
* relocatable and could be allocated dynamically.
* However, many firmware versions tend to fail when
* loaded to some special addresses, so it is hard to
* define reliable alloc-ranges.
*
* alignment = <0x0 0x400000>;
* alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
*/
reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
no-map;
status = "disabled";
};
wcnss_mem: wcnss@89300000 {
reg = <0x0 0x89300000 0x0 0x600000>;
wcnss_mem: wcnss {
size = <0x0 0x600000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
status = "disabled";
};
venus_mem: venus@89900000 {
reg = <0x0 0x89900000 0x0 0x600000>;
venus_mem: venus {
size = <0x0 0x500000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
status = "disabled";
};
mba_mem: mba@8ea00000 {
mba_mem: mba {
size = <0x0 0x100000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
reg = <0 0x8ea00000 0 0x100000>;
status = "disabled";
};
};
@ -1750,7 +1770,7 @@ cci_i2c0: i2c-bus@0 {
};
};
gpu@1c00000 {
gpu: gpu@1c00000 {
compatible = "qcom,adreno-306.0", "qcom,adreno";
reg = <0x01c00000 0x20000>;
reg-names = "kgsl_3d0_reg_memory";
@ -1773,6 +1793,7 @@ gpu@1c00000 {
power-domains = <&gcc OXILI_GDSC>;
operating-points-v2 = <&gpu_opp_table>;
iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
status = "disabled";
gpu_opp_table: opp-table {
compatible = "operating-points-v2";
@ -1797,7 +1818,7 @@ venus: video-codec@1d00000 {
clock-names = "core", "iface", "bus";
iommus = <&apps_iommu 5>;
memory-region = <&venus_mem>;
status = "okay";
status = "disabled";
video-decoder {
compatible = "venus-decoder";
@ -1813,7 +1834,7 @@ apps_iommu: iommu@1ef0000 {
#size-cells = <1>;
#iommu-cells = <1>;
compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
ranges = <0 0x01e20000 0x40000>;
ranges = <0 0x01e20000 0x20000>;
reg = <0x01ef0000 0x3000>;
clocks = <&gcc GCC_SMMU_CFG_CLK>,
<&gcc GCC_APSS_TCU_CLK>;

View file

@ -0,0 +1,334 @@
// SPDX-License-Identifier: GPL-2.0-only
/dts-v1/;
#include "msm8939-pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
/ {
model = "BQ Aquaris M5 (Longcheer L9100)";
compatible = "longcheer,l9100", "qcom,msm8939";
chassis-type = "handset";
aliases {
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
stdout-path = "serial0";
};
gpio-hall-sensor {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_hall_sensor_default>;
pinctrl-names = "default";
label = "GPIO Hall Effect Sensor";
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&tlmm 20 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
label = "GPIO Buttons";
button-volume-up {
label = "Volume Up";
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_WHITE>;
default-state = "off";
function = LED_FUNCTION_KBD_BACKLIGHT;
pinctrl-0 = <&button_backlight_default>;
pinctrl-names = "default";
};
};
reg_ts_vdd: regulator-vdd-ts {
compatible = "regulator-fixed";
regulator-name = "regulator-vdd-ts";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
gpio = <&tlmm 78 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&ts_vdd_default>;
pinctrl-names = "default";
};
backlight {
compatible = "pwm-backlight";
pwms = <&pm8916_pwm 0 100000>;
brightness-levels = <0 255>;
num-interpolated-steps = <255>;
default-brightness-level = <128>;
enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lcd_bl_en_default>;
pinctrl-names = "default";
};
flash-led-controller {
compatible = "ocs,ocp8110";
flash-gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&camera_front_flash_default>;
pinctrl-names = "default";
led {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
flash-max-timeout-us = <250000>;
};
};
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&usb_id_default &usb_id_switch_default>;
pinctrl-names = "default";
};
};
&blsp_i2c3 {
status = "okay";
magnetometer@d {
compatible = "asahi-kasei,ak09911";
reg = <0x0d>;
vdd-supply = <&pm8916_l17>;
vid-supply = <&pm8916_l6>;
reset-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&mag_reset_default>;
pinctrl-names = "default";
};
light-sensor@23 {
compatible = "liteon,ltr559";
reg = <0x23>;
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l5>;
interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&light_int_default>;
pinctrl-names = "default";
};
imu@68 {
compatible = "bosch,bmi160";
reg = <0x68>;
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l6>;
};
};
&blsp_i2c5 {
status = "okay";
touchscreen@4a {
compatible = "atmel,maxtouch";
reg = <0x4a>;
interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
vdda-supply = <&pm8916_l6>;
vdd-supply = <&reg_ts_vdd>;
pinctrl-0 = <&ts_int_reset_default>;
pinctrl-names = "default";
/* Keys listed from right to left */
linux,keycodes = <KEY_APPSELECT KEY_HOMEPAGE KEY_BACK>;
};
};
&blsp_uart2 {
status = "okay";
};
&pm8916_mpps {
pwm_out: mpp4-state {
pins = "mpp4";
function = "digital";
power-source = <PM8916_MPP_VPH>;
output-low;
qcom,dtest = <1>;
};
};
&pm8916_pwm {
pinctrl-0 = <&pwm_out>;
pinctrl-names = "default";
status = "okay";
};
&pm8916_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
&sdhc_1 {
status = "okay";
};
&sdhc_2 {
pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep";
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
status = "okay";
};
&usb {
extcon = <&usb_id>, <&usb_id>;
status = "okay";
};
&usb_hs_phy {
extcon = <&usb_id>;
};
&wcnss {
status = "okay";
};
&wcnss_iris {
compatible = "qcom,wcn3620";
};
&tlmm {
button_backlight_default: button-backlight-default-state {
pins = "gpio17";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
camera_front_flash_default: camera-front-flash-default-state {
pins = "gpio8", "gpio49";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
pins = "gpio20";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
gpio_keys_default: gpio-keys-default-state {
pins = "gpio107";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
lcd_bl_en_default: lcd-bl-en-default-state {
pins = "gpio98";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
light_int_default: light-int-default-state {
pins = "gpio113";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
mag_reset_default: mag-reset-default-state {
pins = "gpio68";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
ts_int_reset_default: ts-int-reset-default-state {
pins = "gpio12", "gpio13";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
ts_vdd_default: ts-vdd-default-state {
pins = "gpio78";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
usb_id_default: usb-id-default-state {
pins = "gpio110";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
usb_id_switch_default: usb-id-switch-default-state {
pins = "gpio121";
function = "gpio";
drive-strength = <2>;
output-high;
};
};

View file

@ -352,6 +352,10 @@ &wcnss_iris {
compatible = "qcom,wcn3660b";
};
&wcnss_mem {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";

View file

@ -39,6 +39,10 @@ usb_id: usb-id {
};
};
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
@ -87,3 +91,7 @@ &wcnss {
&wcnss_iris {
compatible = "qcom,wcn3660";
};
&wcnss_mem {
status = "okay";
};

View file

@ -346,23 +346,43 @@ rfsa@867e0000 {
};
mpss_mem: mpss@86800000 {
reg = <0x0 0x86800000 0x0 0x5500000>;
/*
* The memory region for the mpss firmware is generally
* relocatable and could be allocated dynamically.
* However, many firmware versions tend to fail when
* loaded to some special addresses, so it is hard to
* define reliable alloc-ranges.
*
* alignment = <0x0 0x400000>;
* alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
*/
reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
no-map;
status = "disabled";
};
wcnss_mem: wcnss@8bd00000 {
reg = <0x0 0x8bd00000 0x0 0x600000>;
wcnss_mem: wcnss {
size = <0x0 0x600000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
status = "disabled";
};
venus_mem: venus@8c300000 {
reg = <0x0 0x8c300000 0x0 0x800000>;
venus_mem: venus {
size = <0x0 0x500000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
status = "disabled";
};
mba_mem: mba@8cb00000 {
reg = <0x0 0x8cb00000 0x0 0x100000>;
mba_mem: mba {
size = <0x0 0x100000>;
alignment = <0x0 0x100000>;
alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
status = "disabled";
};
};
@ -1395,7 +1415,7 @@ mdss_dsi1_phy: phy@1aa0300 {
};
};
gpu@1c00000 {
gpu: gpu@1c00000 {
compatible = "qcom,adreno-405.0", "qcom,adreno";
reg = <0x01c00000 0x10000>;
reg-names = "kgsl_3d0_reg_memory";
@ -1418,6 +1438,7 @@ gpu@1c00000 {
power-domains = <&gcc OXILI_GDSC>;
operating-points-v2 = <&opp_table>;
iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
status = "disabled";
opp_table: opp-table {
compatible = "operating-points-v2";
@ -1447,7 +1468,7 @@ opp-19200000 {
apps_iommu: iommu@1ef0000 {
compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
reg = <0x01ef0000 0x3000>;
ranges = <0 0x01e20000 0x40000>;
ranges = <0 0x01e20000 0x20000>;
clocks = <&gcc GCC_SMMU_CFG_CLK>,
<&gcc GCC_APSS_TCU_CLK>;
clock-names = "iface", "bus";

View file

@ -338,7 +338,12 @@ mpss_mem: mpss@86c00000 {
};
lpass_mem: lpass@8c200000 {
reg = <0x0 0x8c200000 0x0 0x1800000>;
reg = <0x0 0x8c200000 0x0 0x1000000>;
no-map;
};
wcnss_fw_mem: wcnss@8d200000 {
reg = <0x0 0x8d200000 0x0 0x800000>;
no-map;
};
@ -379,7 +384,7 @@ adsp_smp2p_in: slave-kernel {
smp2p-modem {
compatible = "qcom,smp2p";
interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 13>;
qcom,ipc = <&apcs 8 14>;
qcom,local-pid = <0>;
qcom,remote-pid = <1>;
@ -402,7 +407,7 @@ modem_smp2p_in: slave-kernel {
smp2p-wcnss {
compatible = "qcom,smp2p";
interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 17>;
qcom,ipc = <&apcs 8 18>;
qcom,local-pid = <0>;
qcom,remote-pid = <4>;
@ -428,9 +433,9 @@ smsm {
#address-cells = <1>;
#size-cells = <0>;
qcom,ipc-1 = <&apcs 8 12>;
qcom,ipc-1 = <&apcs 8 13>;
qcom,ipc-2 = <&apcs 8 9>;
qcom,ipc-3 = <&apcs 8 18>;
qcom,ipc-3 = <&apcs 8 19>;
apps_smsm: apps@0 {
reg = <0>;

View file

@ -15,6 +15,7 @@
/delete-node/ &audio_mem;
/delete-node/ &mpss_mem;
/delete-node/ &peripheral_region;
/delete-node/ &res_hyp_mem;
/delete-node/ &rmtfs_mem;
/ {
@ -109,11 +110,6 @@ rmtfs_mem: rmtfs@ca100000 {
qcom,client-id = <1>;
};
audio_mem: audio@cb400000 {
reg = <0 0xcb000000 0 0x400000>;
no-mem;
};
qseecom_mem: qseecom@cb400000 {
reg = <0 0xcb400000 0 0x1c00000>;
no-mem;

View file

@ -23,6 +23,7 @@
/delete-node/ &mba_mem;
/delete-node/ &mpss_mem;
/delete-node/ &peripheral_region;
/delete-node/ &res_hyp_mem;
/delete-node/ &rmtfs_mem;
/delete-node/ &smem_mem;

View file

@ -281,7 +281,7 @@ adsp_mem: memory@c9400000 {
no-map;
};
reserved@6c00000 {
res_hyp_mem: reserved@6c00000 {
reg = <0 0x06c00000 0 0x400000>;
no-map;
};

View file

@ -772,7 +772,6 @@ touch_suspend: touch-suspend-state {
&ufsphy {
vdda-phy-supply = <&vreg_l28a_0p925>;
vdda-pll-supply = <&vreg_l12a_1p8>;
vddp-ref-clk-supply = <&vreg_l25a_1p2>;
status = "okay";
};
@ -781,6 +780,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l25a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l25a_1p2>;
vcc-max-microamp = <600000>;
vccq-max-microamp = <450000>;

View file

@ -117,7 +117,7 @@ rmtfs@f6c00000 {
no-map;
qcom,client-id = <1>;
qcom,vmid = <15>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
};
/delete-node/ mba@91500000;
@ -419,6 +419,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l25a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l25a_1p2>;
vcc-max-microamp = <600000>;
vccq-max-microamp = <450000>;
@ -430,7 +431,6 @@ &ufsphy {
vdda-phy-supply = <&vreg_l28a_0p925>;
vdda-pll-supply = <&vreg_l12a_1p8>;
vddp-ref-clk-supply = <&vreg_l25a_1p2>;
};
&venus {

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/qcom,rpmcc.h>
#include <dt-bindings/interconnect/qcom,msm8996.h>
#include <dt-bindings/interconnect/qcom,msm8996-cbf.h>
#include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/power/qcom-rpmpd.h>
#include <dt-bindings/soc/qcom,apr.h>
@ -538,7 +539,7 @@ rmtfs_mem: rmtfs {
no-map;
qcom,client-id = <1>;
qcom,vmid = <15>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
};
mpss_mem: mpss@88800000 {

View file

@ -671,6 +671,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l26a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l26a_1p2>;
vcc-max-microamp = <750000>;
vccq-max-microamp = <560000>;
vccq2-max-microamp = <750000>;
@ -680,7 +681,6 @@ &ufsphy {
status = "okay";
vdda-phy-supply = <&vreg_l1a_0p875>;
vdda-pll-supply = <&vreg_l2a_1p2>;
vddp-ref-clk-supply = <&vreg_l26a_1p2>;
};
&usb3 {

View file

@ -412,6 +412,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l26a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l26a_1p2>;
vcc-max-microamp = <750000>;
vccq-max-microamp = <560000>;
vccq2-max-microamp = <750000>;
@ -421,7 +422,6 @@ &ufsphy {
status = "okay";
vdda-phy-supply = <&vreg_l1a_0p875>;
vdda-pll-supply = <&vreg_l2a_1p2>;
vddp-ref-clk-supply = <&vreg_l26a_1p2>;
};
&usb3 {

View file

@ -534,6 +534,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l26a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l26a_1p2>;
vcc-max-microamp = <750000>;
vccq-max-microamp = <560000>;
vccq2-max-microamp = <750000>;
@ -544,7 +545,6 @@ &ufsphy {
vdda-phy-supply = <&vreg_l1a_0p875>;
vdda-pll-supply = <&vreg_l2a_1p2>;
vddp-ref-clk-supply = <&vreg_l26a_1p2>;
};
&usb3 {

View file

@ -667,6 +667,7 @@ &ufshc {
vcc-supply = <&vreg_l20a_2p95>;
vccq-supply = <&vreg_l26a_1p2>;
vccq2-supply = <&vreg_s4a_1p8>;
vdd-hba-supply = <&vreg_l26a_1p2>;
vcc-max-microamp = <750000>;
vccq-max-microamp = <560000>;
vccq2-max-microamp = <750000>;
@ -676,7 +677,6 @@ &ufshc {
&ufsphy {
vdda-phy-supply = <&vreg_l1a_0p875>;
vdda-pll-supply = <&vreg_l2a_1p2>;
vddp-ref-clk-supply = <&vreg_l26a_1p2>;
status = "okay";
};

View file

@ -6,6 +6,7 @@
#include <dt-bindings/clock/qcom,gpucc-msm8998.h>
#include <dt-bindings/clock/qcom,mmcc-msm8998.h>
#include <dt-bindings/clock/qcom,rpmcc.h>
#include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/power/qcom-rpmpd.h>
#include <dt-bindings/gpio/gpio.h>
@ -56,7 +57,7 @@ rmtfs_mem: memory@88f00000 {
no-map;
qcom,client-id = <1>;
qcom,vmid = <15>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
};
spss_mem: memory@8ab00000 {
@ -945,7 +946,7 @@ pcie0: pci@1c00000 {
#address-cells = <3>;
#size-cells = <2>;
num-lanes = <1>;
phys = <&pciephy>;
phys = <&pcie_phy>;
phy-names = "pciephy";
status = "disabled";
@ -975,32 +976,28 @@ pcie0: pci@1c00000 {
pcie_phy: phy@1c06000 {
compatible = "qcom,msm8998-qmp-pcie-phy";
reg = <0x01c06000 0x18c>;
#address-cells = <1>;
#size-cells = <1>;
reg = <0x01c06000 0x1000>;
status = "disabled";
ranges;
clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
<&gcc GCC_PCIE_0_CFG_AHB_CLK>,
<&gcc GCC_PCIE_CLKREF_CLK>;
clock-names = "aux", "cfg_ahb", "ref";
<&gcc GCC_PCIE_CLKREF_CLK>,
<&gcc GCC_PCIE_0_PIPE_CLK>;
clock-names = "aux",
"cfg_ahb",
"ref",
"pipe";
clock-output-names = "pcie_0_pipe_clk_src";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_PCIE_0_PHY_BCR>, <&gcc GCC_PCIE_PHY_BCR>;
reset-names = "phy", "common";
vdda-phy-supply = <&vreg_l1a_0p875>;
vdda-pll-supply = <&vreg_l2a_1p2>;
pciephy: phy@1c06800 {
reg = <0x01c06200 0x128>, <0x01c06400 0x1fc>, <0x01c06800 0x20c>;
#phy-cells = <0>;
clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "pcie_0_pipe_clk_src";
#clock-cells = <0>;
};
};
ufshc: ufshc@1da4000 {

View file

@ -53,6 +53,14 @@ pm6150_pwrkey: pwrkey {
bias-pull-up;
linux,code = <KEY_POWER>;
};
pm6150_resin: resin {
compatible = "qcom,pm8941-resin";
interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
debounce = <15625>;
bias-pull-up;
status = "disabled";
};
};
pm6150_temp: temp-alarm@2400 {
@ -88,6 +96,14 @@ pm6150_adc_tm: adc-tm@3500 {
status = "disabled";
};
pm6150_rtc: rtc@6000 {
compatible = "qcom,pm8941-rtc";
reg = <0x6000>, <0x6100>;
reg-names = "rtc", "alarm";
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
status = "disabled";
};
pm6150_gpios: gpio@c000 {
compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
reg = <0xc000>;

View file

@ -39,16 +39,16 @@ trip2 {
};
&spmi_bus {
pmic@2 {
pmic@PM7250B_SID {
compatible = "qcom,pm7250b", "qcom,spmi-pmic";
reg = <0x2 SPMI_USID>;
reg = <PM7250B_SID SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pm7250b_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
interrupts = <PM7250B_SID 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
io-channels = <&pm7250b_adc ADC5_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
@ -60,7 +60,7 @@ pm7250b_adc: adc@3100 {
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
interrupts = <PM7250B_SID 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
channel@0 {
reg = <ADC5_REF_GND>;
@ -141,7 +141,7 @@ channel@99 {
pm7250b_adc_tm: adc-tm@3500 {
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
interrupts = <PM7250B_SID 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
@ -159,9 +159,9 @@ pm7250b_gpios: pinctrl@c000 {
};
};
pmic@3 {
pmic@PM7250B_SID1 {
compatible = "qcom,pm7250b", "qcom,spmi-pmic";
reg = <0x3 SPMI_USID>;
reg = <PM7250B_SID1 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};

View file

@ -59,6 +59,46 @@ pm8150b_vbus: usb-vbus-regulator@1100 {
reg = <0x1100>;
};
pm8150b_typec: typec@1500 {
compatible = "qcom,pm8150b-typec";
status = "disabled";
reg = <0x1500>,
<0x1700>;
interrupts = <0x2 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
<0x2 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
<0x2 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
<0x2 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
<0x2 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
<0x2 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
<0x2 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
<0x2 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
<0x2 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "or-rid-detect-change",
"vpd-detect",
"cc-state-change",
"vconn-oc",
"vbus-change",
"attach-detach",
"legacy-cable-detect",
"try-snk-src-detect",
"sig-tx",
"sig-rx",
"msg-tx",
"msg-rx",
"msg-tx-failed",
"msg-tx-discarded",
"msg-rx-discarded",
"fr-swap";
vdd-vbus-supply = <&pm8150b_vbus>;
};
pm8150b_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;

View file

@ -132,5 +132,15 @@ pm8150l_lpg: pwm {
status = "disabled";
};
pm8150l_wled: leds@d800 {
compatible = "qcom,pm8150l-wled";
reg = <0xd800>, <0xd900>;
interrupts = <0x5 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
<0x5 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ovp", "short";
label = "backlight";
status = "disabled";
};
};
};

View file

@ -30,6 +30,12 @@ pm8350c_gpios: gpio@8800 {
#interrupt-cells = <2>;
};
pm8350c_flash: led-controller@ee00 {
compatible = "qcom,pm8350c-flash-led", "qcom,spmi-flash-led";
reg = <0xee00>;
status = "disabled";
};
pm8350c_pwm: pwm {
compatible = "qcom,pm8350c-pwm";
#pwm-cells = <2>;

View file

@ -142,9 +142,6 @@ pm8916_vib: vibrator@c000 {
pm8916_codec: audio-codec@f000 {
compatible = "qcom,pm8916-wcd-analog-codec";
reg = <0xf000>;
reg-names = "pmic-codec-core";
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "mclk";
interrupt-parent = <&spmi_bus>;
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
<0x1 0xf0 0x1 IRQ_TYPE_NONE>,

View file

@ -28,27 +28,6 @@ trip1 {
};
};
};
pmr735d-l-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmr735d_l_temp_alarm>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};
};
};
};
};
@ -77,28 +56,4 @@ pmr735d_k_gpios: gpio@8800 {
#interrupt-cells = <2>;
};
};
pmr735d_l: pmic@b {
compatible = "qcom,pmr735d", "qcom,spmi-pmic";
reg = <0xb SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmr735d_l_temp_alarm: temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0xb 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
pmr735d_l_gpios: gpio@8800 {
compatible = "qcom,pmr735d-gpio", "qcom,spmi-gpio";
reg = <0x8800>;
gpio-controller;
gpio-ranges = <&pmr735d_l_gpios 0 0 2>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
};

View file

@ -0,0 +1,59 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2022, Linaro Limited
*/
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
thermal-zones {
pmr735d-l-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmr735d_l_temp_alarm>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};
};
};
};
};
&spmi_bus {
pmr735d_l: pmic@b {
compatible = "qcom,pmr735d", "qcom,spmi-pmic";
reg = <0xb SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmr735d_l_temp_alarm: temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0xb 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
pmr735d_l_gpios: gpio@8800 {
compatible = "qcom,pmr735d-gpio", "qcom,spmi-gpio";
reg = <0x8800>;
gpio-controller;
gpio-ranges = <&pmr735d_l_gpios 0 0 2>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
};

View file

@ -0,0 +1,667 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
*/
/dts-v1/;
/* PM7250B is configured to use SID8/9 */
#define PM7250B_SID 8
#define PM7250B_SID1 9
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7280.dtsi"
#include "pm7250b.dtsi"
#include "pm7325.dtsi"
#include "pm8350c.dtsi" /* PM7350C */
#include "pmk8350.dtsi" /* PMK7325 */
/delete-node/ &rmtfs_mem;
/ {
model = "Fairphone 5";
compatible = "fairphone,fp5", "qcom,qcm6490";
chassis-type = "handset";
aliases {
serial0 = &uart5;
serial1 = &uart7;
};
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
framebuffer0: framebuffer@a000000 {
compatible = "simple-framebuffer";
reg = <0x0 0xe1000000 0x0 (2700 * 1224 * 4)>;
width = <1224>;
height = <2700>;
stride = <(1224 * 4)>;
format = "a8r8g8b8";
clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&volume_down_default>, <&hall_sensor_default>;
pinctrl-names = "default";
key-volume-up {
label = "Volume up";
gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
/* Powered by the always-on vreg_l8c */
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&tlmm 155 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
wakeup-source;
};
};
reserved-memory {
cont_splash_mem: cont-splash@e1000000 {
reg = <0x0 0xe1000000 0x0 0x2300000>;
no-map;
};
adsp_mem: adsp@86700000 {
reg = <0x0 0x86700000 0x0 0x2800000>;
no-map;
};
cdsp_mem: cdsp@88f00000 {
reg = <0x0 0x88f00000 0x0 0x1e00000>;
no-map;
};
mpss_mem: mpss@8b800000 {
reg = <0x0 0x8b800000 0x0 0xf600000>;
no-map;
};
wpss_mem: wpss@9ae00000 {
reg = <0x0 0x9ae00000 0x0 0x1900000>;
no-map;
};
rmtfs_mem: memory@f8500000 {
compatible = "qcom,rmtfs-mem";
reg = <0x0 0xf8500000 0x0 0x600000>;
no-map;
qcom,client-id = <1>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
};
};
ois_avdd0_1p8: regulator-ois-avdd0-1p8 {
compatible = "regulator-fixed";
regulator-name = "OIS_AVDD0_1P8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vreg_bob>;
};
ois_dvdd_1p1: regulator-ois-dvdd-1p1 {
compatible = "regulator-fixed";
regulator-name = "OIS_DVDD_1P1";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vreg_s8b>;
};
afvdd_2p8: regulator-afvdd-2p8 {
compatible = "regulator-fixed";
regulator-name = "AFVDD_2P8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&tlmm 68 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vreg_bob>;
};
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pm7325-rpmh-regulators";
qcom,pmic-id = "b";
vreg_s1b: smps1 {
regulator-min-microvolt = <1840000>;
regulator-max-microvolt = <2040000>;
};
vreg_s7b: smps7 {
regulator-min-microvolt = <535000>;
regulator-max-microvolt = <1120000>;
};
vreg_s8b: smps8 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
};
vreg_l1b: ldo1 {
regulator-min-microvolt = <825000>;
regulator-max-microvolt = <925000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2b: ldo2 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3b: ldo3 {
regulator-min-microvolt = <312000>;
regulator-max-microvolt = <910000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6b: ldo6 {
regulator-min-microvolt = <1140000>;
regulator-max-microvolt = <1260000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7b: ldo7 {
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8b: ldo8 {
regulator-min-microvolt = <870000>;
regulator-max-microvolt = <970000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9b: ldo9 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11b: ldo11 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12b: ldo12 {
regulator-min-microvolt = <751000>;
regulator-max-microvolt = <824000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13b: ldo13 {
regulator-min-microvolt = <530000>;
regulator-max-microvolt = <824000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l14b: ldo14 {
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l15b: ldo15 {
regulator-min-microvolt = <765000>;
regulator-max-microvolt = <1020000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l16b: ldo16 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l17b: ldo17 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l18b: ldo18 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l19b: ldo19 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pm8350c-rpmh-regulators";
qcom,pmic-id = "c";
vreg_s1c: smps1 {
regulator-min-microvolt = <2190000>;
regulator-max-microvolt = <2210000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s9c: smps9 {
regulator-min-microvolt = <1010000>;
regulator-max-microvolt = <1170000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l1c: ldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1980000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2c: ldo2 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1950000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c: ldo3 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3400000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c: ldo4 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l5c: ldo5 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6c: ldo6 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7c: ldo7 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8c: ldo8 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
/* Hall sensor VDD */
regulator-always-on;
};
vreg_l9c: ldo9 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c: ldo10 {
regulator-min-microvolt = <720000>;
regulator-max-microvolt = <1050000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c: ldo11 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12c: ldo12 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13c: ldo13 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_bob: bob {
regulator-min-microvolt = <3008000>;
regulator-max-microvolt = <3960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
};
};
};
&dispcc {
/* Disable for now so simple-framebuffer continues working */
status = "disabled";
};
&gcc {
protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
<GCC_EDP_CLKREF_EN>,
<GCC_MSS_CFG_AHB_CLK>,
<GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
<GCC_MSS_OFFLINE_AXI_CLK>,
<GCC_MSS_Q6SS_BOOT_CLK_SRC>,
<GCC_MSS_Q6_MEMNOC_AXI_CLK>,
<GCC_MSS_SNOC_AXI_CLK>,
<GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
<GCC_QSPI_CORE_CLK>,
<GCC_QSPI_CORE_CLK_SRC>,
<GCC_SEC_CTRL_CLK_SRC>,
<GCC_WPSS_AHB_BDG_MST_CLK>,
<GCC_WPSS_AHB_CLK>,
<GCC_WPSS_RSCP_CLK>;
};
&gpi_dma0 {
status = "okay";
};
&gpi_dma1 {
status = "okay";
};
&i2c1 {
status = "okay";
/* PM8008 PMIC @ 8 and 9 */
/* Pixelworks @ 26 */
/* FSA4480 USB audio switch @ 42 */
/* AW86927FCR haptics @ 5a */
};
&i2c2 {
status = "okay";
/* AW88261FCR amplifier @ 34 */
/* AW88261FCR amplifier @ 35 */
};
&i2c4 {
status = "okay";
/* PTN36502 USB redriver @ 1a */
};
&i2c9 {
status = "okay";
/* ST21NFC NFC @ 28 */
/* VL53L3 ToF @ 29 */
};
&ipa {
qcom,gsi-loader = "self";
memory-region = <&ipa_fw_mem>;
firmware-name = "qcom/qcm6490/fairphone5/ipa_fws.mdt";
status = "okay";
};
&pm7325_gpios {
volume_down_default: volume-down-default-state {
pins = "gpio6";
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <1>;
bias-pull-up;
input-enable;
};
};
&pm8350c_flash {
status = "okay";
led-0 {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
led-sources = <1>, <4>;
led-max-microamp = <500000>;
flash-max-microamp = <1500000>;
flash-max-timeout-us = <1280000>;
};
};
&pmk8350_rtc {
status = "okay";
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&qup_spi13_cs {
drive-strength = <6>;
bias-disable;
};
&qup_spi13_data_clk {
drive-strength = <6>;
bias-disable;
};
&qup_uart5_rx {
drive-strength = <2>;
bias-disable;
};
&qup_uart5_tx {
drive-strength = <2>;
bias-disable;
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&sdc2_clk {
drive-strength = <16>;
bias-disable;
};
&sdc2_cmd {
drive-strength = <10>;
bias-pull-up;
};
&sdc2_data {
drive-strength = <10>;
bias-pull-up;
};
&sdhc_2 {
vmmc-supply = <&vreg_l9c>;
vqmmc-supply = <&vreg_l6c>;
pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>;
pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>;
status = "okay";
};
&spi13 {
status = "okay";
/* Goodix touchscreen @ 0 */
};
&tlmm {
/*
* 32-33: SMB1394 (SPMI)
* 56-59: fingerprint reader (SPI)
*/
gpio-reserved-ranges = <32 2>, <56 4>;
bluetooth_enable_default: bluetooth-enable-default-state {
pins = "gpio85";
function = "gpio";
output-low;
bias-disable;
};
hall_sensor_default: hall-sensor-default-state {
pins = "gpio155";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
pins = "gpio28";
function = "gpio";
/*
* Configure a bias-bus-hold on CTS to lower power
* usage when Bluetooth is turned off. Bus hold will
* maintain a low power state regardless of whether
* the Bluetooth module drives the pin in either
* direction or leaves the pin fully unpowered.
*/
bias-bus-hold;
};
qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
pins = "gpio29";
function = "gpio";
/*
* Configure pull-down on RTS. As RTS is active low
* signal, pull it low to indicate the BT SoC that it
* can wakeup the system anytime from suspend state by
* pulling RX low (by sending wakeup bytes).
*/
bias-pull-down;
};
qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
pins = "gpio30";
function = "gpio";
/*
* Configure pull-up on TX when it isn't actively driven
* to prevent BT SoC from receiving garbage during sleep.
*/
bias-pull-up;
};
qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
pins = "gpio31";
function = "gpio";
/*
* Configure a pull-up on RX. This is needed to avoid
* garbage data when the TX pin of the Bluetooth module
* is floating which may cause spurious wakeups.
*/
bias-pull-up;
};
sw_ctrl_default: sw-ctrl-default-state {
pins = "gpio86";
function = "gpio";
bias-pull-down;
};
};
&uart5 {
compatible = "qcom,geni-debug-uart";
status = "okay";
};
&uart7 {
/delete-property/interrupts;
interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
pinctrl-names = "default", "sleep";
status = "okay";
bluetooth: bluetooth {
compatible = "qcom,wcn6750-bt";
pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>;
pinctrl-names = "default";
enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
vddio-supply = <&vreg_l19b>;
vddaon-supply = <&vreg_s7b>;
vddbtcxmx-supply = <&vreg_s7b>;
vddrfacmn-supply = <&vreg_s7b>;
vddrfa0p8-supply = <&vreg_s7b>;
vddrfa1p7-supply = <&vreg_s1b>;
vddrfa1p2-supply = <&vreg_s8b>;
vddrfa2p2-supply = <&vreg_s1c>;
vddasd-supply = <&vreg_l11c>;
max-speed = <3200000>;
};
};
&usb_1 {
status = "okay";
};
&usb_1_dwc3 {
dr_mode = "peripheral";
};
&usb_1_hsphy {
vdda-pll-supply = <&vreg_l10c>;
vdda18-supply = <&vreg_l1c>;
vdda33-supply = <&vreg_l2b>;
qcom,hs-crossover-voltage-microvolt = <28000>;
qcom,hs-output-impedance-micro-ohms = <2600000>;
qcom,hs-rise-fall-time-bp = <5430>;
qcom,hs-disconnect-bp = <1743>;
qcom,hs-amplitude-bp = <2430>;
qcom,pre-emphasis-amplitude-bp = <20000>;
qcom,pre-emphasis-duration-bp = <20000>;
qcom,squelch-detector-bp = <(-2090)>;
status = "okay";
};
&usb_1_qmpphy {
vdda-phy-supply = <&vreg_l6b>;
vdda-pll-supply = <&vreg_l1b>;
status = "okay";
};

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "qcm2290.dtsi"
#include "pm2250.dtsi"
@ -13,7 +14,7 @@ / {
compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290";
aliases {
serial0 = &uart0;
serial0 = &uart4;
sdhc1 = &sdhc_1;
sdhc2 = &sdhc_2;
};
@ -39,6 +40,38 @@ key-volume-up {
};
};
leds {
compatible = "gpio-leds";
led-bt {
label = "blue:bt";
function = LED_FUNCTION_BLUETOOTH;
color = <LED_COLOR_ID_BLUE>;
gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "bluetooth-power";
default-state = "off";
};
led-user0 {
label = "green:user0";
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_GREEN>;
gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "none";
default-state = "off";
panic-indicator;
};
led-wlan {
label = "yellow:wlan";
function = LED_FUNCTION_WLAN;
color = <LED_COLOR_ID_YELLOW>;
gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tx";
default-state = "off";
};
};
vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
compatible = "regulator-fixed";
regulator-name = "VREG_HDMI_OUT_1P2";
@ -134,6 +167,16 @@ &qupv3_id_0 {
status = "okay";
};
&remoteproc_adsp {
firmware-name = "qcom/qcm2290/adsp.mbn";
status = "okay";
};
&remoteproc_mpss {
firmware-name = "qcom/qcm2290/modem.mbn";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm2250-regulators";
@ -150,15 +193,15 @@ regulators {
pm2250_s3: s3 {
/* 0.4V-1.6625V -> 1.3V (Power tree requirements) */
regulator-min-microvolts = <1350000>;
regulator-max-microvolts = <1350000>;
regulator-min-microvolt = <1352000>;
regulator-max-microvolt = <1352000>;
regulator-boot-on;
};
pm2250_s4: s4 {
/* 1.2V-2.35V -> 2.05V (Power tree requirements) */
regulator-min-microvolts = <2072000>;
regulator-max-microvolts = <2072000>;
regulator-min-microvolt = <2072000>;
regulator-max-microvolt = <2072000>;
regulator-boot-on;
};
@ -166,47 +209,47 @@ pm2250_s4: s4 {
pm2250_l2: l2 {
/* LPDDR4X VDD2 */
regulator-min-microvolts = <1136000>;
regulator-max-microvolts = <1136000>;
regulator-min-microvolt = <1136000>;
regulator-max-microvolt = <1136000>;
regulator-always-on;
regulator-boot-on;
};
pm2250_l3: l3 {
/* LPDDR4X VDDQ */
regulator-min-microvolts = <616000>;
regulator-max-microvolts = <616000>;
regulator-min-microvolt = <616000>;
regulator-max-microvolt = <616000>;
regulator-always-on;
regulator-boot-on;
};
pm2250_l4: l4 {
/* max = 3.05V -> max = just below 3V (SDHCI2) */
regulator-min-microvolts = <1648000>;
regulator-max-microvolts = <2992000>;
/* max = 3.05V -> max = 2.7 to disable 3V signaling (SDHCI2) */
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2700000>;
regulator-allow-set-load;
};
pm2250_l5: l5 {
/* CSI/DSI */
regulator-min-microvolts = <1232000>;
regulator-max-microvolts = <1232000>;
regulator-min-microvolt = <1232000>;
regulator-max-microvolt = <1232000>;
regulator-allow-set-load;
regulator-boot-on;
};
pm2250_l6: l6 {
/* DRAM PLL */
regulator-min-microvolts = <928000>;
regulator-max-microvolts = <928000>;
regulator-min-microvolt = <928000>;
regulator-max-microvolt = <928000>;
regulator-always-on;
regulator-boot-on;
};
pm2250_l7: l7 {
/* Wi-Fi CX/MX */
regulator-min-microvolts = <664000>;
regulator-max-microvolts = <664000>;
regulator-min-microvolt = <664000>;
regulator-max-microvolt = <664000>;
};
/*
@ -216,37 +259,37 @@ pm2250_l7: l7 {
pm2250_l10: l10 {
/* Wi-Fi RFA */
regulator-min-microvolts = <1300000>;
regulator-max-microvolts = <1300000>;
regulator-min-microvolt = <1304000>;
regulator-max-microvolt = <1304000>;
};
pm2250_l11: l11 {
/* GPS RF1 */
regulator-min-microvolts = <1000000>;
regulator-max-microvolts = <1000000>;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-boot-on;
};
pm2250_l12: l12 {
/* USB PHYs */
regulator-min-microvolts = <928000>;
regulator-max-microvolts = <928000>;
regulator-min-microvolt = <928000>;
regulator-max-microvolt = <928000>;
regulator-allow-set-load;
regulator-boot-on;
};
pm2250_l13: l13 {
/* USB/QFPROM/PLLs */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-allow-set-load;
regulator-boot-on;
};
pm2250_l14: l14 {
/* SDHCI1 VQMMC */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-allow-set-load;
/* Broken hardware, never turn it off! */
regulator-always-on;
@ -254,8 +297,8 @@ pm2250_l14: l14 {
pm2250_l15: l15 {
/* WCD/DSI/BT VDDIO */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-allow-set-load;
regulator-always-on;
regulator-boot-on;
@ -263,47 +306,47 @@ pm2250_l15: l15 {
pm2250_l16: l16 {
/* GPS RF2 */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
};
pm2250_l17: l17 {
regulator-min-microvolts = <3000000>;
regulator-max-microvolts = <3000000>;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm2250_l18: l18 {
/* VDD_PXn */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm2250_l19: l19 {
/* VDD_PXn */
regulator-min-microvolts = <1800000>;
regulator-max-microvolts = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm2250_l20: l20 {
/* SDHCI1 VMMC */
regulator-min-microvolts = <2856000>;
regulator-max-microvolts = <2856000>;
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3600000>;
regulator-allow-set-load;
};
pm2250_l21: l21 {
/* SDHCI2 VMMC */
regulator-min-microvolts = <2960000>;
regulator-max-microvolts = <3300000>;
regulator-min-microvolt = <2960000>;
regulator-max-microvolt = <3300000>;
regulator-allow-set-load;
regulator-boot-on;
};
pm2250_l22: l22 {
/* Wi-Fi */
regulator-min-microvolts = <3312000>;
regulator-max-microvolts = <3312000>;
regulator-min-microvolt = <3312000>;
regulator-max-microvolt = <3312000>;
};
};
};
@ -357,7 +400,7 @@ key_volp_n: key-volp-n-state {
};
/* UART connected to the Micro-USB port via a FTDI chip */
&uart0 {
&uart4 {
compatible = "qcom,geni-debug-uart";
status = "okay";
};
@ -366,6 +409,12 @@ &usb {
status = "okay";
};
&usb_qmpphy {
vdda-phy-supply = <&pm2250_l12>;
vdda-pll-supply = <&pm2250_l13>;
status = "okay";
};
&usb_hsphy {
vdd-supply = <&pm2250_l12>;
vdda-pll-supply = <&pm2250_l13>;
@ -373,6 +422,14 @@ &usb_hsphy {
status = "okay";
};
&wifi {
vdd-0.8-cx-mx-supply = <&pm2250_l7>;
vdd-1.8-xo-supply = <&pm2250_l13>;
vdd-1.3-rfa-supply = <&pm2250_l10>;
vdd-3.3-ch0-supply = <&pm2250_l22>;
status = "okay";
};
&xo_board {
clock-frequency = <38400000>;
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/usb/pd.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
@ -609,12 +610,61 @@ lt9611_out: endpoint {
/* LS-I2C1 */
&i2c15 {
status = "okay";
typec-mux@1c {
compatible = "onnn,nb7vpq904m";
reg = <0x1c>;
vcc-supply = <&vreg_s4a_1p8>;
retimer-switch;
orientation-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
redriver_usb_con_ss: endpoint {
remote-endpoint = <&pm8150b_typec_mux_in>;
};
};
port@1 {
reg = <1>;
redriver_phy_con_ss: endpoint {
remote-endpoint = <&usb_1_qmpphy_out>;
data-lanes = <0 1 2 3>;
};
};
port@2 {
reg = <2>;
redriver_usb_con_sbu: endpoint {
remote-endpoint = <&pm8150b_typec_sbu_out>;
};
};
};
};
};
&mdss {
status = "okay";
};
&mdss_dp {
status = "okay";
};
&mdss_dp_out {
data-lanes = <0 1>;
remote-endpoint = <&usb_1_qmpphy_dp_in>;
};
&mdss_dsi0 {
status = "okay";
vdda-supply = <&vreg_l9a_1p2>;
@ -1273,7 +1323,12 @@ &usb_1 {
};
&usb_1_dwc3 {
dr_mode = "peripheral";
dr_mode = "otg";
usb-role-switch;
};
&usb_1_role_switch_out {
remote-endpoint = <&pm8150b_role_switch_in>;
};
&usb_1_hsphy {
@ -1289,6 +1344,11 @@ &usb_1_qmpphy {
vdda-phy-supply = <&vreg_l9a_1p2>;
vdda-pll-supply = <&vreg_l18a_0p92>;
orientation-switch;
};
&usb_1_qmpphy_out {
remote-endpoint = <&redriver_phy_con_ss>;
};
&usb_2 {
@ -1339,3 +1399,66 @@ &qup_spi0_data_clk {
drive-strength = <6>;
bias-disable;
};
&pm8150b_vbus {
regulator-min-microamp = <500000>;
regulator-max-microamp = <3000000>;
status = "okay";
};
&pm8150b_typec {
status = "okay";
vdd-pdphy-supply = <&vreg_l2a_3p1>;
connector {
compatible = "usb-c-connector";
power-role = "source";
data-role = "dual";
self-powered;
source-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
PDO_FIXED_DATA_SWAP)>;
altmodes {
displayport {
svid = <0xff01>;
vdo = <0x00001c46>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pm8150b_role_switch_in: endpoint {
remote-endpoint = <&usb_1_role_switch_out>;
};
};
port@1 {
reg = <1>;
pm8150b_typec_mux_in: endpoint {
remote-endpoint = <&redriver_usb_con_ss>;
};
};
port@2 {
reg = <2>;
pm8150b_typec_sbu_out: endpoint {
remote-endpoint = <&redriver_usb_con_sbu>;
};
};
};
};
};
&usb_1_qmpphy_dp_in {
remote-endpoint = <&mdss_dp_out>;
};

View file

@ -285,6 +285,7 @@ sgmii_phy0: phy@8 {
compatible = "ethernet-phy-id0141.0dd4";
reg = <0x8>;
device_type = "ethernet-phy";
interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>;
reset-assert-us = <11000>;
reset-deassert-us = <70000>;
@ -294,6 +295,7 @@ sgmii_phy1: phy@a {
compatible = "ethernet-phy-id0141.0dd4";
reg = <0xa>;
device_type = "ethernet-phy";
interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>;
reset-assert-us = <11000>;
reset-deassert-us = <70000>;

View file

@ -1525,6 +1525,7 @@ ufs_mem_hc: ufs@1d84000 {
<0 0>,
<0 0>,
<0 0>;
qcom,ice = <&ice>;
status = "disabled";
};
@ -1546,6 +1547,13 @@ ufs_mem_phy: phy@1d87000 {
status = "disabled";
};
ice: crypto@1d88000 {
compatible = "qcom,sa8775p-inline-crypto-engine",
"qcom,inline-crypto-engine";
reg = <0x0 0x01d88000 0x0 0x8000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
};
usb_0_hsphy: phy@88e4000 {
compatible = "qcom,sa8775p-usb-hs-phy",
"qcom,usb-snps-hs-5nm-phy";

View file

@ -10,7 +10,6 @@
/* Deleted nodes from sc7180-trogdor.dtsi */
/delete-node/ &alc5682;
/delete-node/ &pp3300_codec;
/ {
@ -104,6 +103,7 @@ ap_ts: touchscreen@5d {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
panel = <&panel>;
reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
vdd-supply = <&pp3300_ts>;

View file

@ -7,6 +7,8 @@
/* This file must be included after sc7180-trogdor.dtsi */
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
/* BOARD-SPECIFIC TOP LEVEL NODES */
@ -116,6 +118,7 @@ ap_ts: touchscreen@14 {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
panel = <&panel>;
reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
vdd-supply = <&pp3300_touch>;

View file

@ -11,19 +11,13 @@
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include <arm/cros-ec-keyboard.dtsi>
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Kingoftown";
compatible = "google,kingoftown", "qcom,sc7180";
};
&alc5682 {
compatible = "realtek,rt5682s";
/delete-property/ VBAT-supply;
realtek,dmic1-clk-pin = <2>;
realtek,dmic-clk-rate-hz = <2048000>;
};
&ap_tp_i2c {
status = "okay";
};
@ -84,11 +78,6 @@ &pp3300_dx_edp {
gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
};
&sound {
compatible = "google,sc7180-trogdor";
model = "sc7180-rt5682s-max98357a-1mic";
};
&wifi {
qcom,ath10k-calibration-variant = "GO_KINGOFTOWN";
};

View file

@ -0,0 +1,29 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Lazor Limozeen board device tree source
*
* Copyright 2023 Google LLC.
*/
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Lazor Limozeen without Touchscreen (rev10+)";
compatible = "google,lazor-sku6", "google,lazor-sku18", "qcom,sc7180";
};
/delete-node/ &ap_ts;
&panel {
compatible = "edp-panel";
};
&sdhc_2 {
status = "okay";
};

View file

@ -11,6 +11,7 @@
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor Limozeen without Touchscreen (rev5 - rev8)";

View file

@ -11,13 +11,14 @@
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor Limozeen without Touchscreen (rev9+)";
compatible = "google,lazor-sku6", "qcom,sc7180";
model = "Google Lazor Limozeen without Touchscreen (rev9)";
compatible = "google,lazor-rev9-sku6", "google,lazor-rev9-sku18", "qcom,sc7180";
};
/delete-node/&ap_ts;
/delete-node/ &ap_ts;
&panel {
compatible = "edp-panel";

View file

@ -0,0 +1,45 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Lazor Limozeen board device tree source
*
* Copyright 2023 Google LLC.
*/
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Lazor Limozeen (rev10+)";
compatible = "google,lazor-sku4", "google,lazor-sku15", "qcom,sc7180";
};
/delete-node/ &ap_ts;
&ap_ts_pen_1v8 {
ap_ts: touchscreen@10 {
compatible = "elan,ekth3500";
reg = <0x10>;
pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
pinctrl-names = "default";
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&tlmm>;
vcc33-supply = <&pp3300_ts>;
reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
};
};
&panel {
compatible = "auo,b116xa01";
};
&sdhc_2 {
status = "okay";
};

View file

@ -11,6 +11,8 @@
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor Limozeen (rev4 - rev8)";

View file

@ -11,23 +11,24 @@
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor Limozeen (rev9+)";
compatible = "google,lazor-sku4", "qcom,sc7180";
model = "Google Lazor Limozeen (rev9)";
compatible = "google,lazor-rev9-sku4", "google,lazor-rev9-sku15", "qcom,sc7180";
};
/delete-node/&ap_ts;
/delete-node/ &ap_ts;
&ap_ts_pen_1v8 {
ap_ts: touchscreen@10 {
compatible = "elan,ekth3500";
reg = <0x10>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
pinctrl-names = "default";
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&tlmm>;
vcc33-supply = <&pp3300_ts>;

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor (rev1 - 2)";

View file

@ -0,0 +1,23 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Lazor board device tree source
*
* Copyright 2023 Google LLC.
*/
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-lite.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Lazor (rev10+) with KB Backlight";
compatible = "google,lazor-sku2", "qcom,sc7180";
};
&keyboard_backlight {
status = "okay";
};

View file

@ -0,0 +1,27 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Lazor board device tree source
*
* Copyright 2023 Google LLC.
*/
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Lazor (rev10+) with LTE";
compatible = "google,lazor-sku0", "google,lazor-sku10", "qcom,sc7180";
};
&ap_sar_sensor_i2c {
status = "okay";
};
&keyboard_backlight {
status = "okay";
};

View file

@ -0,0 +1,19 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Lazor board device tree source
*
* Copyright 2023 Google LLC.
*/
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-lite.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Lazor (rev10+)";
compatible = "google,lazor", "qcom,sc7180";
};

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-lite.dtsi"
/ {

View file

@ -11,6 +11,7 @@
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor (rev3 - 8) with LTE";

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-lite.dtsi"
/ {

View file

@ -10,11 +10,12 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-lite.dtsi"
/ {
model = "Google Lazor (rev9+) with KB Backlight";
compatible = "google,lazor-sku2", "qcom,sc7180";
model = "Google Lazor (rev9) with KB Backlight";
compatible = "google,lazor-rev9-sku2", "qcom,sc7180";
};
&keyboard_backlight {

View file

@ -11,10 +11,11 @@
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Lazor (rev9+) with LTE";
compatible = "google,lazor-sku0", "qcom,sc7180";
model = "Google Lazor (rev9) with LTE";
compatible = "google,lazor-rev9-sku0", "google,lazor-rev9-sku10", "qcom,sc7180";
};
&ap_sar_sensor_i2c {

View file

@ -10,9 +10,10 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-lazor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-lite.dtsi"
/ {
model = "Google Lazor (rev9+)";
compatible = "google,lazor", "qcom,sc7180";
model = "Google Lazor (rev9)";
compatible = "google,lazor-rev9", "qcom,sc7180";
};

View file

@ -43,6 +43,7 @@ ap_ts: touchscreen@10 {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
panel = <&panel>;
post-power-on-delay-ms = <20>;
hid-descr-addr = <0x0001>;

View file

@ -11,6 +11,7 @@
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-pazquel.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Pazquel (Parade,LTE)";

View file

@ -11,6 +11,7 @@
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-pazquel.dtsi"
#include "sc7180-trogdor-lte-sku.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Pazquel (TI,LTE)";

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-parade-ps8640.dtsi"
#include "sc7180-trogdor-pazquel.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Pazquel (Parade)";

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
#include "sc7180-trogdor-pazquel.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Pazquel (TI)";

View file

@ -7,13 +7,7 @@
/* This file must be included after sc7180-trogdor.dtsi */
#include "sc7180-trogdor-pazquel.dtsi"
&alc5682 {
compatible = "realtek,rt5682s";
realtek,dmic1-clk-pin = <2>;
realtek,dmic-clk-rate-hz = <2048000>;
/delete-property/ VBAT-supply;
};
#include "sc7180-trogdor-rt5682s-sku.dtsi"
ap_ts_pen_1v8: &i2c4 {
clock-frequency = <400000>;
@ -64,11 +58,6 @@ CROS_STD_MAIN_KEYMAP
>;
};
&sound {
compatible = "google,sc7180-trogdor";
model = "sc7180-rt5682s-max98357a-1mic";
};
&wifi {
qcom,ath10k-calibration-variant = "GO_PAZQUEL360";
};

View file

@ -8,6 +8,7 @@
#include "sc7180-trogdor.dtsi"
/* Must come after sc7180-trogdor.dtsi to modify cros_ec */
#include <arm/cros-ec-keyboard.dtsi>
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
/ {
@ -102,6 +103,7 @@ ap_ts: touchscreen@10 {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
panel = <&panel>;
post-power-on-delay-ms = <20>;
hid-descr-addr = <0x0001>;

View file

@ -8,6 +8,7 @@
/dts-v1/;
#include "sc7180-trogdor.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/* This board only has 1 USB Type-C port. */
/delete-node/ &usb_c1;
@ -69,6 +70,7 @@ ap_ts: touchscreen@10 {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
panel = <&panel>;
post-power-on-delay-ms = <20>;
hid-descr-addr = <0x0001>;

View file

@ -10,6 +10,7 @@
#include "sc7180-trogdor.dtsi"
/* Must come after sc7180-trogdor.dtsi to modify cros_ec */
#include <arm/cros-ec-keyboard.dtsi>
#include "sc7180-trogdor-rt5682i-sku.dtsi"
#include "sc7180-trogdor-ti-sn65dsi86.dtsi"
/ {

View file

@ -0,0 +1,38 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Trogdor dts fragment for SKUs with rt5682i
*
* Copyright 2023 Google LLC.
*/
&hp_i2c {
alc5682: codec@1a {
compatible = "realtek,rt5682i";
reg = <0x1a>;
pinctrl-names = "default";
pinctrl-0 = <&hp_irq>;
#sound-dai-cells = <1>;
interrupt-parent = <&tlmm>;
/*
* This will get ignored because the interrupt type
* is set in rt5682.c.
*/
interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
AVDD-supply = <&pp1800_alc5682>;
DBVDD-supply = <&pp1800_alc5682>;
LDO1-IN-supply = <&pp1800_alc5682>;
MICVDD-supply = <&pp3300_codec>;
VBAT-supply = <&pp3300_audio>;
realtek,dmic1-data-pin = <1>;
realtek,dmic1-clk-pin = <1>;
realtek,jd-src = <1>;
};
};
&sound {
model = "sc7180-rt5682-max98357a-1mic";
};

View file

@ -0,0 +1,38 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Google Trogdor dts fragment for SKUs with rt5682s
*
* Copyright 2023 Google LLC.
*/
&hp_i2c {
alc5682: codec@1a {
compatible = "realtek,rt5682s";
reg = <0x1a>;
pinctrl-names = "default";
pinctrl-0 = <&hp_irq>;
#sound-dai-cells = <1>;
interrupt-parent = <&tlmm>;
/*
* This will get ignored because the interrupt type
* is set in rt5682.c.
*/
interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
AVDD-supply = <&pp1800_alc5682>;
DBVDD-supply = <&pp1800_alc5682>;
LDO1-IN-supply = <&pp1800_alc5682>;
MICVDD-supply = <&pp3300_codec>;
realtek,dmic1-data-pin = <1>;
realtek,dmic1-clk-pin = <2>;
realtek,dmic-clk-rate-hz = <2048000>;
realtek,jd-src = <1>;
};
};
&sound {
model = "sc7180-rt5682s-max98357a-1mic";
};

View file

@ -10,21 +10,20 @@
/dts-v1/;
#include "sc7180-trogdor-wormdingler-rev1-boe.dts"
#include "sc7180-trogdor-wormdingler.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Wormdingler rev1+ (BOE, rt5682s)";
compatible = "google,wormdingler-sku1025", "qcom,sc7180";
};
&alc5682 {
compatible = "realtek,rt5682s";
/delete-property/ VBAT-supply;
realtek,dmic1-clk-pin = <2>;
realtek,dmic-clk-rate-hz = <2048000>;
&mdss_dsi0_phy {
qcom,phy-rescode-offset-top = /bits/ 8 <31 31 31 31 (-32)>;
qcom,phy-rescode-offset-bot = /bits/ 8 <31 31 31 31 (-32)>;
qcom,phy-drive-ldo-level = <450>;
};
&sound {
compatible = "google,sc7180-trogdor";
model = "sc7180-rt5682s-max98357a-1mic";
&panel {
compatible = "boe,tv110c9m-ll3";
};

View file

@ -11,6 +11,7 @@
/dts-v1/;
#include "sc7180-trogdor-wormdingler.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Wormdingler rev1+ BOE panel board";

View file

@ -10,21 +10,14 @@
/dts-v1/;
#include "sc7180-trogdor-wormdingler-rev1-inx.dts"
#include "sc7180-trogdor-wormdingler.dtsi"
#include "sc7180-trogdor-rt5682s-sku.dtsi"
/ {
model = "Google Wormdingler rev1+ (INX, rt5682s)";
compatible = "google,wormdingler-sku1", "qcom,sc7180";
};
&alc5682 {
compatible = "realtek,rt5682s";
/delete-property/ VBAT-supply;
realtek,dmic1-clk-pin = <2>;
realtek,dmic-clk-rate-hz = <2048000>;
};
&sound {
compatible = "google,sc7180-trogdor";
model = "sc7180-rt5682s-max98357a-1mic";
&panel {
compatible = "innolux,hj110iz-01a";
};

View file

@ -11,6 +11,7 @@
/dts-v1/;
#include "sc7180-trogdor-wormdingler.dtsi"
#include "sc7180-trogdor-rt5682i-sku.dtsi"
/ {
model = "Google Wormdingler rev1+ INX panel board";

View file

@ -123,6 +123,7 @@ ap_ts: touchscreen@1 {
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
panel = <&panel>;
post-power-on-delay-ms = <70>;
hid-descr-addr = <0x0001>;

View file

@ -372,7 +372,6 @@ keyboard_backlight: led-0 {
sound: sound {
compatible = "google,sc7180-trogdor";
model = "sc7180-rt5682-max98357a-1mic";
audio-routing =
"Headphone Jack", "HPOL",
@ -747,32 +746,6 @@ trackpad: trackpad@15 {
hp_i2c: &i2c9 {
status = "okay";
clock-frequency = <400000>;
alc5682: codec@1a {
compatible = "realtek,rt5682i";
reg = <0x1a>;
pinctrl-names = "default";
pinctrl-0 = <&hp_irq>;
#sound-dai-cells = <1>;
interrupt-parent = <&tlmm>;
/*
* This will get ignored because the interrupt type
* is set in rt5682.c.
*/
interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
AVDD-supply = <&pp1800_alc5682>;
DBVDD-supply = <&pp1800_alc5682>;
LDO1-IN-supply = <&pp1800_alc5682>;
MICVDD-supply = <&pp3300_codec>;
VBAT-supply = <&pp3300_audio>;
realtek,dmic1-data-pin = <1>;
realtek,dmic1-clk-pin = <1>;
realtek,jd-src = <1>;
};
};
&lpasscc {

Some files were not shown because too many files have changed in this diff Show more