Qualcomm ARM64 DeviceTree updates for v6.5

This introduces the RDP442 and RDP433 reference devices on IPQ5332 and
 IPQ9574, respectively. RDP418, RDP433, RDP449 and RDP453 on the IPQ9574
 are added. On MSM8939 the Square T2 board and the Sony Xperia M4 Aqua is
 added. Support for Acer Apire 1, built on the Snapdragon 7c platform is
 introduced. Fxtec Pro1X on SM6115 is added.  Lastly long floating
 support for SC8180X and the Lenovo Flex 5G, and the Primus reference
 device, has been added.
 
 On IPQ5332 and IPQ6018 QFPROM support is introduced, and as described
 above the RDP442 board on the prior. Download mode support and various
 reserved-memory regions are also introduced on IPQ6018.
 IPQ8074 gains another SPI controller.
 
 On IPQ9574 CPU frequency scaling, low speed busses, RNG, Watchdog,
 qfprom, SMEM and RPM are introduced. As are support for four new board,
 mentioned above.
 
 MSM8916 gains a range of structural improvements, to better suite the
 various boards supported. Regulator constraints are corrected and their
 states are adjusted to match reality (e.g. always-on regulators marked
 as always-on). BQ Aquaris X5 gains support for front flash LED.
 
 As mentioned above, MSM8939 support is introduced with support for
 boards from Sony and Square.
 
 MSM8953 gains DMA support in I2C masters.
 
 MSM8996-based Sony Xperia boards gains description of their RGB
 notification LED.
 
 On SA8775P support for UFS, USB, GPU clock and iommu controllers, PMU,
 AOSS, watchdog and missing low-speed controllers are added. On the Ride
 platform UFS, USB and an i2c bus are enabled.
 
 iommu properties are added to QSPI on both SC7180 and SC7280. LPASS
 clocks are adjusted and MDP node cleaned up slightly, on SC7180. As
 mentioned above, support for Acer Aspire 1 is introduced.
 
 Long lingering patches introducing SC8180X, the Lenovo Flex 5G and the
 Primus reference device has been merged.
 
 On SC8280XP ethernet is added and enabled on the automotive ride
 platform. An SDC controller is introduced and enabled on the SC8280XP
 CRD. On the Lenovo Thinkpad X13s and the CRD reference device the USB
 SuperSpeed phy is added to the Type-C graph, to enable support for
 orientation switching.
 
 Fairphone 3 gains support for its notification LED.
 
 On SDM845 the iommu stream for QSPI is defined, SHIFT SHIFT6mq gains
 support for flash LED and the RB3 (DB845c) board gains support for
 bonded/dual DSI-mode, to allow 4k output.
 
 On SM6115 CPU idle-states, crypto engine support and SuperSpeed USB PHY
 are introduced. As mentioned above Fxtec Pro1X is introduced. On the
 QRB4210 Robotics Platform RB2 USB, Audio and Compute DSPs, display,
 CAN-bus and GPIO LEDs are introduced, fixed regulators are described and
 the SD-card description is corrected.
 
 Support for crypto engine is added to SM8150, while Sony Xperia 1 and 5
 gains SD-card support, camera regulators and GPIO line names sorted out.
 
 SM8250 also gets support for crypto engine, and Sony Xperia 1 II and 5
 II gains support for hardware video accelerator.
 
 Crypto engine is introduced for SM8350 as well. The HDK gets the USB
 Type-C graph described for Superspeed orientation switching and
 DisplayPort output.
 
 On SM8450 video clock controller and crypto engine are added, missing
 opp levels are introduced and the USB Type-C graph is defined for
 orientation switching and altmode.
 
 SM8550 gains GPU and video clock controllers and missing opp levels are
 added. The WCD9385 audio codec is added for the SM8550 MTP and on the
 QRD PCIe, USB, audio display and flash LED are added.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSFGfkVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FeKoP/RFCA0hnqP0TGgzQq7TV1//WbVuZ
 5fxpWhSKYeb6e+oOJZdu/Xi7VwSWesZwQQkMRaEOXUpMGhtWBfLQEHc6FQiAzGkv
 h3GrOLQ1qqmfYEqDxYv4CgKjpO+w5Zx2uNOZkbRDRumT0EQ45T0hypYmRefBPq8s
 bOxNmRgY6goNZalZBb0HWvdZtfYB1tlrjVn5+rpEZb031KGhCSOH8SWx8wUdUHrj
 7EYR4EeQQsJZETiinU3F8l69eNUBwAi8TAW350A3nJj+FPZqwVhIhQKCR/bCZqXC
 U9vwcaqgYKi8rY5FR+bwJsiX4hY8W9bjq7pzrJyNvXsLtIeJ3jRnbF8z4SvNitOF
 UMOkQ9f6WrToRNSrwFhLB/ipV/TbnnE/MNzIxCwQ5W1BRYn7Tri1Ws61I/Kl1/ML
 eOWl6CSWzNW5lfkHumdOzydd4T43ECqqgNLEBTCpNRo7d/4XN/TCUK4tWJqb+4ou
 1aOG6/ujy6uhlocd0mZ1xPMDBrFNCrC4/BRj2hCmbuBE3Qs/AHHrF5LLMTkZBKHd
 Mip2gUKwqi2p4l0/KJxSSj0snrifUqU5V1QCchwcMFmt62mrfRU2u7Xoy9s7vlyP
 pbQEF/Pu91Yr5nUiBQEU77L5a9tTm0eI1iFl8GwBzZP7R46ahnAu3BQc/MXaPax/
 Z9hrTrB9y610Iuzy
 =OvdD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSD3wACgkQYKtH/8kJ
 UidMjQ//YH19+b3UZ3O4r3sIoGTNB1rajNHCX72wwzQAdaHSMOTOUdkXradtstyp
 EPNyChMERvBGq2i16B0mEk9IiQ4y4CVwR9l3FZcaasV25RhfcGX3K1Wqxuepc1Hu
 OELo8W9Ih7rSg7paNj6YfJq1ka+AldZWPvtQG000czq59ZnUn7JvEeW7hd5BOdCJ
 O5RloIxHhLIOSyyc+sK0d3hXLjcZ8Od0Pnu/QYMzslmtc7YLaRgs0F5pxwz51k/P
 Uc+eOscCGcSHilmW7IE/IlevElg0GssyRn/BZ5121tMMKEYjEeR0EUy7I8zPaG45
 osKJQ5R7NBd2h185ZXprskd9drvQ8uwv8kxRs5GFF+cK+3PE3TtoipmBycEQROcH
 7WkQg7ffiPXT7Na+yTWqUXwnwzr/nhir7HTVx7VgBqmdUIzJKdqAbVLw/PTm0B6M
 QXUZfIS8gZFLePYwzkYqhYcTgtT6ZfEY5aN2/vpI0xyZsU0Z6nbFzPxlI+4rlDXm
 eZ7nD42RzifEqJUm7yKwGPkyY1U8rbwh4kNdaxZPk4ouB1puEYbF+Neo95MKlpRY
 ODEz0u6oVvJ2Ddg/RxFDtwB3hUXupc2qZcE92Smq4Two9wjgTkuSb3A3+8CEjXqH
 VFhBY65NxnwVEaabxE4wK9+wnLUnswza988BkkY7YrI+G8EZJL4=
 =jxMR
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DeviceTree updates for v6.5

This introduces the RDP442 and RDP433 reference devices on IPQ5332 and
IPQ9574, respectively. RDP418, RDP433, RDP449 and RDP453 on the IPQ9574
are added. On MSM8939 the Square T2 board and the Sony Xperia M4 Aqua is
added. Support for Acer Apire 1, built on the Snapdragon 7c platform is
introduced. Fxtec Pro1X on SM6115 is added.  Lastly long floating
support for SC8180X and the Lenovo Flex 5G, and the Primus reference
device, has been added.

On IPQ5332 and IPQ6018 QFPROM support is introduced, and as described
above the RDP442 board on the prior. Download mode support and various
reserved-memory regions are also introduced on IPQ6018.
IPQ8074 gains another SPI controller.

On IPQ9574 CPU frequency scaling, low speed busses, RNG, Watchdog,
qfprom, SMEM and RPM are introduced. As are support for four new board,
mentioned above.

MSM8916 gains a range of structural improvements, to better suite the
various boards supported. Regulator constraints are corrected and their
states are adjusted to match reality (e.g. always-on regulators marked
as always-on). BQ Aquaris X5 gains support for front flash LED.

As mentioned above, MSM8939 support is introduced with support for
boards from Sony and Square.

MSM8953 gains DMA support in I2C masters.

MSM8996-based Sony Xperia boards gains description of their RGB
notification LED.

On SA8775P support for UFS, USB, GPU clock and iommu controllers, PMU,
AOSS, watchdog and missing low-speed controllers are added. On the Ride
platform UFS, USB and an i2c bus are enabled.

iommu properties are added to QSPI on both SC7180 and SC7280. LPASS
clocks are adjusted and MDP node cleaned up slightly, on SC7180. As
mentioned above, support for Acer Aspire 1 is introduced.

Long lingering patches introducing SC8180X, the Lenovo Flex 5G and the
Primus reference device has been merged.

On SC8280XP ethernet is added and enabled on the automotive ride
platform. An SDC controller is introduced and enabled on the SC8280XP
CRD. On the Lenovo Thinkpad X13s and the CRD reference device the USB
SuperSpeed phy is added to the Type-C graph, to enable support for
orientation switching.

Fairphone 3 gains support for its notification LED.

On SDM845 the iommu stream for QSPI is defined, SHIFT SHIFT6mq gains
support for flash LED and the RB3 (DB845c) board gains support for
bonded/dual DSI-mode, to allow 4k output.

On SM6115 CPU idle-states, crypto engine support and SuperSpeed USB PHY
are introduced. As mentioned above Fxtec Pro1X is introduced. On the
QRB4210 Robotics Platform RB2 USB, Audio and Compute DSPs, display,
CAN-bus and GPIO LEDs are introduced, fixed regulators are described and
the SD-card description is corrected.

Support for crypto engine is added to SM8150, while Sony Xperia 1 and 5
gains SD-card support, camera regulators and GPIO line names sorted out.

SM8250 also gets support for crypto engine, and Sony Xperia 1 II and 5
II gains support for hardware video accelerator.

Crypto engine is introduced for SM8350 as well. The HDK gets the USB
Type-C graph described for Superspeed orientation switching and
DisplayPort output.

On SM8450 video clock controller and crypto engine are added, missing
opp levels are introduced and the USB Type-C graph is defined for
orientation switching and altmode.

SM8550 gains GPU and video clock controllers and missing opp levels are
added. The WCD9385 audio codec is added for the SM8550 MTP and on the
QRD PCIe, USB, audio display and flash LED are added.

* tag 'qcom-arm64-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (195 commits)
  arm64: dts: qcom: sc8180x: Introduce Lenovo Flex 5G
  arm64: dts: qcom: sc8180x: Introduce Primus
  arm64: dts: qcom: sc8180x: Add pmics
  arm64: dts: qcom: sc8180x: Add display and gpu nodes
  arm64: dts: qcom: sc8180x: Add remoteprocs, wifi and usb nodes
  arm64: dts: qcom: sc8180x: Add PCIe instances
  arm64: dts: qcom: sc8180x: Add QUPs
  arm64: dts: qcom: sc8180x: Add thermal zones
  arm64: dts: qcom: sc8180x: Add interconnects and lmh
  arm64: dts: qcom: Introduce the SC8180x platform
  arm64: dts: qcom: msm8916: Move aliases to boards
  arm64: dts: qcom: pm8916: Rename &wcd_codec -> &pm8916_codec
  arm64: dts: qcom: msm8916/39: Clean up MDSS labels
  arm64: dts: qcom: msm8916/39: Use consistent name for I2C/SPI pinctrl
  arm64: dts: qcom: msm8916/39: Rename &blsp1_uartN -> &blsp_uartN
  arm64: dts: qcom: msm8916: Rename &msmgpio -> &tlmm
  arm64: dts: qcom: qrb4210-rb2: Enable USB node
  arm64: dts: qcom: sm6115: Add USB SS qmp phy node
  arm64: dts: qcom: ipq5332: add support for the RDP442 variant
  dt-bindings: arm: qcom: document MI01.3 board based on IPQ5332 family
  ...

Link: https://lore.kernel.org/r/20230611004944.2481596-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-06-20 22:43:04 +02:00
commit 60c2f542a7
113 changed files with 16067 additions and 2046 deletions

View File

@ -40,6 +40,7 @@ description: |
msm8939
msm8953
msm8956
msm8960
msm8974
msm8976
msm8992
@ -85,8 +86,12 @@ description: |
The 'board' element must be one of the following strings:
adp
ap-al02-c2
ap-al02-c6
ap-al02-c7
ap-al02-c8
ap-mi01.2
ap-mi01.3
ap-mi01.6
cdp
cp01-c1
@ -333,6 +338,7 @@ properties:
- items:
- enum:
- qcom,ipq5332-ap-mi01.2
- qcom,ipq5332-ap-mi01.3
- qcom,ipq5332-ap-mi01.6
- const: qcom,ipq5332
@ -351,7 +357,10 @@ properties:
- items:
- enum:
- qcom,ipq9574-ap-al02-c2
- qcom,ipq9574-ap-al02-c6
- qcom,ipq9574-ap-al02-c7
- qcom,ipq9574-ap-al02-c8
- const: qcom,ipq9574
- description: Sierra Wireless MangOH Green with WP8548 Module
@ -380,9 +389,9 @@ properties:
- qcom,qru1000-idp
- const: qcom,qru1000
- description: Qualcomm Technologies, Inc. SC7180 IDP
items:
- items:
- enum:
- acer,aspire1
- qcom,sc7180-idp
- const: qcom,sc7180
@ -882,6 +891,11 @@ properties:
- const: qcom,qrb4210
- const: qcom,sm4250
- items:
- enum:
- fxtec,pro1x
- const: qcom,sm6115
- items:
- enum:
- lenovo,j606f

View File

@ -0,0 +1,75 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Graphics Clock & Reset Controller on SM8450
maintainers:
- Konrad Dybcio <konrad.dybcio@linaro.org>
description: |
Qualcomm graphics clock control module provides the clocks, resets and power
domains on Qualcomm SoCs.
See also::
include/dt-bindings/clock/qcom,sm8450-gpucc.h
include/dt-bindings/clock/qcom,sm8550-gpucc.h
include/dt-bindings/reset/qcom,sm8450-gpucc.h
properties:
compatible:
enum:
- qcom,sm8450-gpucc
- qcom,sm8550-gpucc
clocks:
items:
- description: Board XO source
- description: GPLL0 main branch source
- description: GPLL0 div branch source
'#clock-cells':
const: 1
'#reset-cells':
const: 1
'#power-domain-cells':
const: 1
reg:
maxItems: 1
required:
- compatible
- reg
- clocks
- '#clock-cells'
- '#reset-cells'
- '#power-domain-cells'
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,gcc-sm8450.h>
#include <dt-bindings/clock/qcom,rpmh.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
clock-controller@3d90000 {
compatible = "qcom,sm8450-gpucc";
reg = <0 0x03d90000 0 0xa000>;
clocks = <&rpmhcc RPMH_CXO_CLK>,
<&gcc GCC_GPU_GPLL0_CLK_SRC>,
<&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
};
};
...

View File

@ -0,0 +1,77 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,sm8450-videocc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Video Clock & Reset Controller on SM8450
maintainers:
- Taniya Das <quic_tdas@quicinc.com>
description: |
Qualcomm video clock control module provides the clocks, resets and power
domains on SM8450.
See also:: include/dt-bindings/clock/qcom,videocc-sm8450.h
properties:
compatible:
const: qcom,sm8450-videocc
reg:
maxItems: 1
clocks:
items:
- description: Board XO source
- description: Video AHB clock from GCC
power-domains:
maxItems: 1
description:
MMCX power domain.
required-opps:
maxItems: 1
description:
A phandle to an OPP node describing required MMCX performance point.
'#clock-cells':
const: 1
'#reset-cells':
const: 1
'#power-domain-cells':
const: 1
required:
- compatible
- reg
- clocks
- power-domains
- required-opps
- '#clock-cells'
- '#reset-cells'
- '#power-domain-cells'
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,gcc-sm8450.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/power/qcom-rpmpd.h>
videocc: clock-controller@aaf0000 {
compatible = "qcom,sm8450-videocc";
reg = <0x0aaf0000 0x10000>;
clocks = <&rpmhcc RPMH_CXO_CLK>,
<&gcc GCC_VIDEO_AHB_CLK>;
power-domains = <&rpmhpd SM8450_MMCX>;
required-opps = <&rpmhpd_opp_low_svs>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
};
...

View File

@ -18,8 +18,11 @@ properties:
- enum:
- qcom,apq8064-qfprom
- qcom,apq8084-qfprom
- qcom,ipq5332-qfprom
- qcom,ipq6018-qfprom
- qcom,ipq8064-qfprom
- qcom,ipq8074-qfprom
- qcom,ipq9574-qfprom
- qcom,msm8916-qfprom
- qcom,msm8974-qfprom
- qcom,msm8976-qfprom

View File

@ -1269,6 +1269,8 @@ patternProperties:
description: SpinalHDL
"^sprd,.*":
description: Spreadtrum Communications Inc.
"^square,.*":
description: Square
"^ssi,.*":
description: SSI Computer Corp
"^sst,.*":

View File

@ -1,15 +1,20 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8039-t2.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-mi01.2.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp442.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp468.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-al02-c7.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb
@ -32,6 +37,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-sony-xperia-kanuti-tulip.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-daisy.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-mido.dtb
@ -82,6 +88,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sa8155p-adp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sa8295p-adp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sa8540p-ride.dtb
dtb-$(CONFIG_ARCH_QCOM) += sa8775p-ride.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-acer-aspire1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1-lte.dtb
@ -140,6 +147,8 @@ dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-zombie-nvme-lte.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-crd-r3.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8180x-lenovo-flex-5g.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8180x-primus.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-lenovo-thinkpad-x13s.dtb
dtb-$(CONFIG_ARCH_QCOM) += sda660-inforce-ifc6560.dtb
@ -174,6 +183,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm845-shift-axolotl.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115p-lenovo-j606f.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6125-sony-xperia-seine-pdx201.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-laurel-sprout.dtb

View File

@ -18,8 +18,10 @@
compatible = "qcom,apq8016-sbc", "qcom,apq8016";
aliases {
serial0 = &blsp1_uart2;
serial1 = &blsp1_uart1;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
serial1 = &blsp_uart1;
usid0 = &pm8916_0;
i2c0 = &blsp_i2c2;
i2c1 = &blsp_i2c6;
@ -75,7 +77,7 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 121 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -101,13 +103,13 @@
button {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
};
};
leds {
pinctrl-names = "default";
pinctrl-0 = <&msmgpio_leds>,
pinctrl-0 = <&tlmm_leds>,
<&pm8916_gpios_leds>,
<&pm8916_mpps_leds>;
@ -117,7 +119,7 @@
label = "apq8016-sbc:green:user1";
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
@ -126,7 +128,7 @@
label = "apq8016-sbc:green:user2";
function = LED_FUNCTION_DISK_ACTIVITY;
color = <LED_COLOR_ID_GREEN>;
gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "mmc0";
default-state = "off";
};
@ -186,14 +188,14 @@
compatible = "adi,adv7533";
reg = <0x39>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
adi,dsi-lanes = <4>;
clocks = <&rpmcc RPM_SMD_BB_CLK2>;
clock-names = "cec";
pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
avdd-supply = <&pm8916_l6>;
v1p2-supply = <&pm8916_l6>;
@ -211,7 +213,7 @@
port@0 {
reg = <0>;
adv7533_in: endpoint {
remote-endpoint = <&dsi0_out>;
remote-endpoint = <&mdss_dsi0_out>;
};
};
@ -243,12 +245,12 @@
label = "LS-SPI0";
};
&blsp1_uart1 {
&blsp_uart1 {
status = "okay";
label = "LS-UART0";
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
label = "LS-UART1";
};
@ -276,8 +278,8 @@
compatible = "ovti,ov5640";
reg = <0x3b>;
enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
enable-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&camera_rear_default>;
@ -301,12 +303,11 @@
};
};
&dsi0_out {
data-lanes = <0 1 2 3>;
remote-endpoint = <&adv7533_in>;
&lpass {
status = "okay";
};
&lpass {
&lpass_codec {
status = "okay";
};
@ -314,17 +315,59 @@
status = "okay";
};
&mdss_dsi0_out {
data-lanes = <0 1 2 3>;
remote-endpoint = <&adv7533_in>;
};
&mpss {
status = "okay";
firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn";
};
&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>;
};
&pm8916_resin {
status = "okay";
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
/*
* The 96Boards specification expects a 1.8V power rail on the low-speed
* expansion connector that is able to provide at least 0.18W / 100 mA.
* L15/L16 are connected in parallel to provide 55 mA each. A minimum load
* must be specified to ensure the regulators are not put in LPM where they
* would only provide 5 mA.
*/
pm8916_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-system-load = <50000>;
regulator-allow-set-load;
regulator-always-on;
};
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-system-load = <50000>;
regulator-allow-set-load;
regulator-always-on;
};
pm8916_l17: l17 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
&sdhc_1 {
status = "okay";
@ -340,7 +383,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&sound {
@ -370,7 +413,7 @@
sound-dai = <&lpass MI2S_PRIMARY>;
};
codec {
sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
};
};
@ -380,7 +423,7 @@
sound-dai = <&lpass MI2S_TERTIARY>;
};
codec {
sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
};
};
};
@ -398,13 +441,6 @@
extcon = <&usb_id>;
};
&wcd_codec {
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>;
};
&wcnss {
status = "okay";
firmware-name = "qcom/apq8016/wcnss.mbn";
@ -441,130 +477,19 @@
&stm { status = "okay"; };
&tpiu { status = "okay"; };
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <375000>;
regulator-max-microvolt = <1562000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
l1 {
regulator-min-microvolt = <375000>;
regulator-max-microvolt = <1525000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l5 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l8 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l9 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l10 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l11 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l13 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l14 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
/**
* 1.8v required on LS expansion
* for mezzanine boards
*/
l15 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
regulator-always-on;
};
l16 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
l17 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l18 {
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <3337000>;
};
};
/*
* 2mA drive strength is not enough when connecting multiple
* I2C devices with different pull up resistors.
*/
&i2c2_default {
&blsp_i2c2_default {
drive-strength = <16>;
};
&i2c4_default {
&blsp_i2c4_default {
drive-strength = <16>;
};
&i2c6_default {
&blsp_i2c6_default {
drive-strength = <16>;
};
@ -592,7 +517,7 @@
* ones actually used for GPIO.
*/
&msmgpio {
&tlmm {
gpio-line-names =
"[UART0_TX]", /* GPIO_0, LSEC pin 5 */
"[UART0_RX]", /* GPIO_1, LSEC pin 7 */
@ -717,7 +642,7 @@
"USR_LED_2_CTRL", /* GPIO 120 */
"SB_HS_ID";
msmgpio_leds: msmgpio-leds-state {
tlmm_leds: tlmm-leds-state {
pins = "gpio21", "gpio120";
function = "gpio";

View File

@ -0,0 +1,492 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
* Copyright (c) 2020-2023, Linaro Ltd.
*
*/
/dts-v1/;
#include "msm8939.dtsi"
#include "msm8939-pm8916.dtsi"
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/sound/apq8016-lpass.h>
/ {
model = "Square, Inc. T2 Devkit";
compatible = "square,apq8039-t2", "qcom,msm8939";
qcom,board-id = <0x53 0x54>;
qcom,msm-id = <QCOM_ID_APQ8039 0x30000>;
aliases {
mmc0 = &sdhc_1;
mmc1 = &sdhc_2;
serial0 = &blsp_uart1;
serial1 = &blsp_uart2;
};
bl: backlight {
compatible = "gpio-backlight";
pinctrl-0 = <&pinctrl_backlight>;
pinctrl-names = "default";
gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
};
chosen {
stdout-path = "serial1:115200n8";
};
vreg_lcd_avdd_reg: lcd-avdd-regulator {
compatible = "regulator-fixed";
regulator-name = "lcd_avdd";
regulator-min-microvolt = <5600000>;
regulator-max-microvolt = <5600000>;
pinctrl-0 = <&pinctrl_lcd_avdd_reg>;
pinctrl-names = "default";
gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
startup-delay-us = <300>;
enable-active-high;
};
vreg_lcd_avee_reg: lcd-avee-regulator {
compatible = "regulator-fixed";
regulator-name = "lcd_avee";
regulator-min-microvolt = <5600000>;
regulator-max-microvolt = <5600000>;
pinctrl-0 = <&pinctrl_lcd_avee_reg>;
pinctrl-names = "default";
gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
startup-delay-us = <300>;
enable-active-high;
};
vreg_lcd_iovcc_reg: lcd-iovcc-regulator {
compatible = "regulator-fixed";
regulator-name = "lcd_iovcc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
pinctrl-0 = <&pinctrl_lcd_iovcc_reg>;
pinctrl-names = "default";
gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
startup-delay-us = <300>;
enable-active-high;
};
};
&blsp_i2c1 {
status = "okay";
};
&blsp_i2c2 {
status = "okay";
};
&blsp_i2c3 {
status = "okay";
typec_pd: usb-pd@38 {
compatible = "ti,tps6598x";
reg = <0x38>;
interrupt-parent = <&tlmm>;
interrupts = <107 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "irq";
pinctrl-names = "default";
pinctrl-0 = <&typec_irq>;
typec_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
port {
typec_ep: endpoint {
remote-endpoint = <&otg_ep>;
};
};
};
};
};
&blsp_i2c5 {
status = "okay";
};
&blsp_uart1 {
status = "okay";
};
&blsp_uart1_default {
pins = "gpio0", "gpio1";
};
&blsp_uart1_sleep {
pins = "gpio0", "gpio1";
};
&blsp_uart2 {
status = "okay";
};
&lpass {
status = "okay";
};
&mdss {
status = "okay";
};
&pm8916_codec {
qcom,hphl-jack-type-normally-open;
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
status = "okay";
};
&pm8916_gpios {
gpio-line-names =
"PM_GPIO1", /* WIFI_GPIO1_PRE */
"PM_GPIO2", /* WIFI_GPIO2_PRE */
"PM_GPIO3",
"PM_GPIO4";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
pm8916_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8916_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
/* l1 is fixed to 1225000, but not connected in schematic */
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8916_l4: l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l8: l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l10: l10 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l11: l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8916_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8916_l18: l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&sdhc_1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_default_state>;
pinctrl-1 = <&sdc1_sleep_state>;
status = "okay";
};
&sound {
model = "apq8039-square-sndcard";
audio-routing = "AMIC2", "MIC BIAS Internal2";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cdc_pdm_lines_default>;
pinctrl-1 = <&cdc_pdm_lines_sleep>;
internal-codec-playback-dai-link {
link-name = "WCD";
cpu {
sound-dai = <&lpass MI2S_PRIMARY>;
};
codec {
sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
};
};
internal-codec-capture-dai-link {
link-name = "WCD-Capture";
cpu {
sound-dai = <&lpass MI2S_TERTIARY>;
};
codec {
sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
};
};
};
/*
* Line names are taken from the schematic of T2, Ver X03.
* July 14, 2018. Page 4 in particular.
*/
&tlmm {
gpio-line-names =
"APQ_UART1_TX", /* GPIO_0 */
"APQ_UART1_RX",
"APQ_I2C1_SDA",
"APQ_I2C1_SCL",
"APQ_UART2_TX_1V8",
"APQ_UART2_RX_1V8",
"APQ_I2C2_SDA",
"APQ_I2C2_SCL",
"NC",
"APQ_LCD_IOVCC_EN",
"APQ_I2C3_SDA", /* GPIO_10 */
"APQ_I2C3_SCL",
"TOUCH_RST_1V8_L",
"NC",
"APQ_I2C4_SDA",
"APQ_I2C4_SCL",
"APQ_ID5",
"USB_DISCONNECT",
"APQ_I2C5_SDA",
"APQ_I2C5_SCL",
"APQ_USBC_SPI_MOSI", /* GPIO_20 */
"APQ_USBC_SPI_MISO",
"APQ_USBC_SPI_SS_L",
"APQ_USBC_SPI_CLK",
"APQ_LCD_TE0",
"APQ_LCD_RST_L",
"NC",
"NC",
"ACCELEROMETER_INT1",
"APQ_CAM_I2C0_SDA",
"APQ_CAM_I2C0_SCL", /* GPIO_30 */
"ACCELEROMETER_INT2",
"NC",
"NC",
"NC",
"APQ_K21_RST_1V8_L",
"NC",
"APQ_EDL_1V8",
"TP145",
"BT_SSBI",
"NC", /* GPIO_40 */
"NC",
"NC",
"NC",
"NC",
"NC",
"NC",
"BT_CTRL",
"BT_DAT",
"PWR_GPIO_IN",
"PWR_GPIO_OUT", /* GPIO_50 */
"CARD_DET_MLB_L",
"HALL_SENSOR",
"TP63",
"TP64",
"TP65",
"NC",
"NC",
"NC",
"NC",
"NC", /* GPIO_60 */
"NC",
"APQ_K21_GPIO0_1V8",
"CDC_PDM_CLK",
"CDC_PDM_SYNC",
"CDC_PDM_TX",
"CDC_PDM_RX0",
"CDC_PDM_RX1",
"CDC_PDM_RX2",
"APQ_K21_GPIO1_1V8",
"NC", /* GPIO_70 */
"APQ_HUB_SEL_1V8",
"APQ_K21_GPIO2_1V8",
"APQ_K21_GPIO3_1V8",
"APQ_ID0",
"APQ_ID1",
"APQ_ID2",
"APQ_ID3",
"APQ_ID4",
"APQ_HUB_SUSP_IND",
"BOOT_CONFIG_0", /* GPIO_80 */
"BOOT_CONFIG_1",
"BOOT_CONFIG_2",
"BOOT_CONFIG_3",
"NC",
"NC",
"APQ_LCD_AVDD_EN",
"APQ_LCD_AVEE_EN",
"TP70",
"NC",
"APQ_DEBUG0", /* GPIO_90 */
"APQ_DEBUG1",
"APQ_DEBUG2",
"APQ_DEBUG3",
"TP165",
"NC",
"APQ_LNA_PWR_EN",
"NC",
"APQ_LCD_BL_EN",
"NC",
"APQ_LCD_ID0", /* GPIO_100 */
"APQ_LCD_ID1",
"USBC_GPIO5_1V8",
"NC",
"NC",
"NC",
"APQ_HUB_RST_1V8_L",
"USBC_I2C_IRQ_1V8_L",
"SPE_PWR_EN",
"NC",
"APQ_USB_ID", /* GPIO_110 */
"APQ_EXT_BUCK_VSEL",
"APQ_USB_ID_OUT",
"NC",
"PRNT_RST_L",
"APQ_CRQ_I2C_RDY_1V8",
"TYPEC_RST_1V8_H",
"CHG_BACKPWR_EN",
"CHG_PROCHOT_L",
"NC",
"USBC_GPIO7_1V8", /* GPIO_120 */
"NC";
pinctrl_backlight: backlight-state {
pins = "gpio98";
function = "gpio";
};
pinctrl_lcd_avdd_reg: lcd-avdd-reg-state {
pins = "gpio86";
function = "gpio";
};
pinctrl_lcd_avee_reg: lcd-avee-reg-state {
pins = "gpio87";
function = "gpio";
};
pinctrl_lcd_iovcc_reg: lcd-iovcc-reg-state {
pins = "gpio9";
function = "gpio";
};
pinctrl_lcd_rst: lcd-rst-state {
pins = "gpio25";
function = "gpio";
};
pinctrl_otg_default: otg-default-state {
function = "gpio";
pins = "gpio17";
output-high;
};
pinctrl_otg_device: otg-device-state {
function = "gpio";
pins = "gpio17";
output-low;
};
pinctrl_otg_host: otg-host-state {
function = "gpio";
pins = "gpio17";
output-low;
};
typec_irq: typec-irq-state {
function = "gpio";
pins = "gpio107";
bias-pull-up;
input-enable;
};
};
&usb {
pinctrl-names = "default", "host", "device";
pinctrl-0 = <&pinctrl_otg_default>;
pinctrl-1 = <&pinctrl_otg_host>;
pinctrl-2 = <&pinctrl_otg_device>;
pin-switch-delay-us = <100000>;
usb-role-switch;
status = "okay";
port {
otg_ep: endpoint {
remote-endpoint = <&typec_ep>;
};
};
};
&wcnss {
status = "okay";
};
&wcnss_iris {
compatible = "qcom,wcn3680";
};

View File

@ -26,7 +26,7 @@
v1p05: v1p05-regulator {
compatible = "regulator-fixed";
reglator-name = "v1p05";
regulator-name = "v1p05";
regulator-always-on;
regulator-boot-on;
@ -38,7 +38,7 @@
v12_poe: v12-poe-regulator {
compatible = "regulator-fixed";
reglator-name = "v12_poe";
regulator-name = "v12_poe";
regulator-always-on;
regulator-boot-on;

View File

@ -0,0 +1,117 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* IPQ5332 RDP442 board device tree source
*
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include "ipq5332.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ5332 MI01.3";
compatible = "qcom,ipq5332-ap-mi01.3", "qcom,ipq5332";
aliases {
serial0 = &blsp1_uart0;
};
chosen {
stdout-path = "serial0";
};
};
&blsp1_uart0 {
pinctrl-0 = <&serial_0_pins>;
pinctrl-names = "default";
status = "okay";
};
&blsp1_i2c1 {
clock-frequency = <400000>;
pinctrl-0 = <&i2c_1_pins>;
pinctrl-names = "default";
status = "okay";
};
&blsp1_spi0 {
pinctrl-0 = <&spi_0_data_clk_pins &spi_0_cs_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
&sdhc {
bus-width = <4>;
max-frequency = <192000000>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
non-removable;
pinctrl-0 = <&sdc_default_state>;
pinctrl-names = "default";
status = "okay";
};
&sleep_clk {
clock-frequency = <32000>;
};
&xo_board {
clock-frequency = <24000000>;
};
/* PINCTRL */
&tlmm {
i2c_1_pins: i2c-1-state {
pins = "gpio29", "gpio30";
function = "blsp1_i2c0";
drive-strength = <8>;
bias-pull-up;
};
sdc_default_state: sdc-default-state {
clk-pins {
pins = "gpio13";
function = "sdc_clk";
drive-strength = <8>;
bias-disable;
};
cmd-pins {
pins = "gpio12";
function = "sdc_cmd";
drive-strength = <8>;
bias-pull-up;
};
data-pins {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "sdc_data";
drive-strength = <8>;
bias-pull-up;
};
};
spi_0_data_clk_pins: spi-0-data-clk-state {
pins = "gpio14", "gpio15", "gpio16";
function = "blsp0_spi";
drive-strength = <2>;
bias-pull-down;
};
spi_0_cs_pins: spi-0-cs-state {
pins = "gpio17";
function = "blsp0_spi";
drive-strength = <2>;
bias-pull-up;
};
};

View File

@ -134,6 +134,13 @@
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
qfprom: efuse@a4000 {
compatible = "qcom,ipq5332-qfprom", "qcom,qfprom";
reg = <0x000a4000 0x721>;
#address-cells = <1>;
#size-cells = <1>;
};
rng: rng@e3000 {
compatible = "qcom,prng-ee";
reg = <0x000e3000 0x1000>;

View File

@ -90,6 +90,7 @@
firmware {
scm {
compatible = "qcom,scm-ipq6018", "qcom,scm";
qcom,dload-mode = <&tcsr 0x6100>;
};
};
@ -154,18 +155,28 @@
no-map;
};
bootloader@4a100000 {
reg = <0x0 0x4a100000 0x0 0x400000>;
no-map;
};
sbl@4a500000 {
reg = <0x0 0x4a500000 0x0 0x100000>;
no-map;
};
tz: memory@4a600000 {
reg = <0x0 0x4a600000 0x0 0x00400000>;
reg = <0x0 0x4a600000 0x0 0x400000>;
no-map;
};
smem_region: memory@4aa00000 {
reg = <0x0 0x4aa00000 0x0 0x00100000>;
reg = <0x0 0x4aa00000 0x0 0x100000>;
no-map;
};
q6_region: memory@4ab00000 {
reg = <0x0 0x4ab00000 0x0 0x05500000>;
reg = <0x0 0x4ab00000 0x0 0x5500000>;
no-map;
};
};
@ -198,7 +209,7 @@
hwlocks = <&tcsr_mutex 0>;
};
soc: soc {
soc: soc@0 {
#address-cells = <2>;
#size-cells = <2>;
ranges = <0 0 0 0 0x0 0xffffffff>;
@ -301,7 +312,14 @@
status = "disabled";
};
prng: qrng@e1000 {
qfprom: efuse@a4000 {
compatible = "qcom,ipq6018-qfprom", "qcom,qfprom";
reg = <0x0 0x000a4000 0x0 0x2000>;
#address-cells = <1>;
#size-cells = <1>;
};
prng: qrng@e3000 {
compatible = "qcom,prng-ee";
reg = <0x0 0x000e3000 0x0 0x1000>;
clocks = <&gcc GCC_PRNG_AHB_CLK>;
@ -440,7 +458,6 @@
#size-cells = <0>;
reg = <0x0 0x078b5000 0x0 0x600>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
spi-max-frequency = <50000000>;
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
@ -455,7 +472,6 @@
#size-cells = <0>;
reg = <0x0 0x078b6000 0x0 0x600>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
spi-max-frequency = <50000000>;
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
@ -571,7 +587,7 @@
#address-cells = <2>;
#size-cells = <2>;
interrupt-controller;
#interrupt-cells = <0x3>;
#interrupt-cells = <3>;
reg = <0x0 0x0b000000 0x0 0x1000>, /*GICD*/
<0x0 0x0b002000 0x0 0x1000>, /*GICC*/
<0x0 0x0b001000 0x0 0x1000>, /*GICH*/

View File

@ -29,8 +29,8 @@
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
CPU0: cpu@0 {
device_type = "cpu";
@ -85,29 +85,40 @@
#size-cells = <2>;
ranges;
bootloader@4a600000 {
reg = <0x0 0x4a600000 0x0 0x400000>;
no-map;
};
sbl@4aa00000 {
reg = <0x0 0x4aa00000 0x0 0x100000>;
no-map;
};
smem@4ab00000 {
compatible = "qcom,smem";
reg = <0x0 0x4ab00000 0x0 0x00100000>;
reg = <0x0 0x4ab00000 0x0 0x100000>;
no-map;
hwlocks = <&tcsr_mutex 0>;
};
memory@4ac00000 {
reg = <0x0 0x4ac00000 0x0 0x400000>;
no-map;
reg = <0x0 0x4ac00000 0x0 0x00400000>;
};
};
firmware {
scm {
compatible = "qcom,scm-ipq8074", "qcom,scm";
qcom,dload-mode = <&tcsr 0x6100>;
};
};
soc: soc {
#address-cells = <0x1>;
#size-cells = <0x1>;
soc: soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
compatible = "simple-bus";
@ -321,9 +332,9 @@
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
gpio-ranges = <&tlmm 0 0 70>;
#gpio-cells = <0x2>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <0x2>;
#interrupt-cells = <2>;
serial_4_pins: serial4-state {
pins = "gpio23", "gpio24";
@ -381,6 +392,11 @@
#hwlock-cells = <1>;
};
tcsr: syscon@1937000 {
compatible = "qcom,tcsr-ipq8074", "syscon";
reg = <0x01937000 0x21000>;
};
spmi_bus: spmi@200f000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0x0200f000 0x001000>,
@ -475,7 +491,6 @@
#size-cells = <0>;
reg = <0x078b5000 0x600>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
spi-max-frequency = <50000000>;
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
@ -533,6 +548,20 @@
status = "disabled";
};
blsp1_spi5: spi@78b9000 {
compatible = "qcom,spi-qup-v2.2.1";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x78b9000 0x600>;
interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 20>, <&blsp_dma 21>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_i2c6: i2c@78ba000 {
compatible = "qcom,i2c-qup-v2.2.1";
#address-cells = <1>;
@ -666,7 +695,7 @@
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller;
#interrupt-cells = <0x3>;
#interrupt-cells = <3>;
reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
ranges = <0 0xb00a000 0xffd>;

View File

@ -0,0 +1,124 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* IPQ9574 RDP418 board device tree source
*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include "ipq9574.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C2";
compatible = "qcom,ipq9574-ap-al02-c2", "qcom,ipq9574";
aliases {
serial0 = &blsp1_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&blsp1_spi0 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
&blsp1_uart2 {
pinctrl-0 = <&uart2_pins>;
pinctrl-names = "default";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-mp5496-regulators";
ipq9574_s1: s1 {
/*
* During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
* During regulator registration, kernel not knowing the initial voltage,
* considers it as zero and brings up the regulators with minimum supported voltage.
* Update the regulator-min-microvolt with SVS voltage of 725mV so that
* the regulators are brought up with 725mV which is sufficient for all the
* corner parts to operate at 800MHz
*/
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1075000>;
};
};
};
&sdhc_1 {
pinctrl-0 = <&sdc_default_state>;
pinctrl-names = "default";
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
max-frequency = <384000000>;
bus-width = <8>;
status = "okay";
};
&sleep_clk {
clock-frequency = <32000>;
};
&tlmm {
sdc_default_state: sdc-default-state {
clk-pins {
pins = "gpio5";
function = "sdc_clk";
drive-strength = <8>;
bias-disable;
};
cmd-pins {
pins = "gpio4";
function = "sdc_cmd";
drive-strength = <8>;
bias-pull-up;
};
data-pins {
pins = "gpio0", "gpio1", "gpio2",
"gpio3", "gpio6", "gpio7",
"gpio8", "gpio9";
function = "sdc_data";
drive-strength = <8>;
bias-pull-up;
};
rclk-pins {
pins = "gpio10";
function = "sdc_rclk";
drive-strength = <8>;
bias-pull-down;
};
};
spi_0_pins: spi-0-state {
pins = "gpio11", "gpio12", "gpio13", "gpio14";
function = "blsp0_spi";
drive-strength = <8>;
bias-disable;
};
};
&xo_board_clk {
clock-frequency = <24000000>;
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* IPQ9574 AL02-C7 board device tree source
* IPQ9574 RDP433 board device tree source
*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
@ -29,6 +29,25 @@
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-mp5496-regulators";
ipq9574_s1: s1 {
/*
* During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
* During regulator registration, kernel not knowing the initial voltage,
* considers it as zero and brings up the regulators with minimum supported voltage.
* Update the regulator-min-microvolt with SVS voltage of 725mV so that
* the regulators are brought up with 725mV which is sufficient for all the
* corner parts to operate at 800MHz
*/
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1075000>;
};
};
};
&sdhc_1 {
pinctrl-0 = <&sdc_default_state>;
pinctrl-names = "default";

View File

@ -0,0 +1,80 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* IPQ9574 RDP449 board device tree source
*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include "ipq9574.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C6";
compatible = "qcom,ipq9574-ap-al02-c6", "qcom,ipq9574";
aliases {
serial0 = &blsp1_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&blsp1_spi0 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
&blsp1_uart2 {
pinctrl-0 = <&uart2_pins>;
pinctrl-names = "default";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-mp5496-regulators";
ipq9574_s1: s1 {
/*
* During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
* During regulator registration, kernel not knowing the initial voltage,
* considers it as zero and brings up the regulators with minimum supported voltage.
* Update the regulator-min-microvolt with SVS voltage of 725mV so that
* the regulators are brought up with 725mV which is sufficient for all the
* corner parts to operate at 800MHz
*/
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1075000>;
};
};
};
&sleep_clk {
clock-frequency = <32000>;
};
&tlmm {
spi_0_pins: spi-0-state {
pins = "gpio11", "gpio12", "gpio13", "gpio14";
function = "blsp0_spi";
drive-strength = <8>;
bias-disable;
};
};
&xo_board_clk {
clock-frequency = <24000000>;
};

View File

@ -0,0 +1,80 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* IPQ9574 RDP453 board device tree source
*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include "ipq9574.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C8";
compatible = "qcom,ipq9574-ap-al02-c8", "qcom,ipq9574";
aliases {
serial0 = &blsp1_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&blsp1_spi0 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
&blsp1_uart2 {
pinctrl-0 = <&uart2_pins>;
pinctrl-names = "default";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-mp5496-regulators";
ipq9574_s1: s1 {
/*
* During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
* During regulator registration, kernel not knowing the initial voltage,
* considers it as zero and brings up the regulators with minimum supported voltage.
* Update the regulator-min-microvolt with SVS voltage of 725mV so that
* the regulators are brought up with 725mV which is sufficient for all the
* corner parts to operate at 800MHz
*/
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1075000>;
};
};
};
&sleep_clk {
clock-frequency = <32000>;
};
&tlmm {
spi_0_pins: spi-0-state {
pins = "gpio11", "gpio12", "gpio13", "gpio14";
function = "blsp0_spi";
drive-strength = <8>;
bias-disable;
};
};
&xo_board_clk {
clock-frequency = <24000000>;
};

View File

@ -6,8 +6,9 @@
* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,apss-ipq.h>
#include <dt-bindings/clock/qcom,ipq9574-gcc.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/qcom,ipq9574-gcc.h>
/ {
@ -16,12 +17,6 @@
#size-cells = <2>;
clocks {
bias_pll_ubi_nc_clk: bias-pll-ubi-nc-clk {
compatible = "fixed-clock";
clock-frequency = <353000000>;
#clock-cells = <0>;
};
sleep_clk: sleep-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
@ -43,6 +38,10 @@
reg = <0x0>;
enable-method = "psci";
next-level-cache = <&L2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
clock-names = "cpu";
operating-points-v2 = <&cpu_opp_table>;
cpu-supply = <&ipq9574_s1>;
};
CPU1: cpu@1 {
@ -51,6 +50,10 @@
reg = <0x1>;
enable-method = "psci";
next-level-cache = <&L2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
clock-names = "cpu";
operating-points-v2 = <&cpu_opp_table>;
cpu-supply = <&ipq9574_s1>;
};
CPU2: cpu@2 {
@ -59,6 +62,10 @@
reg = <0x2>;
enable-method = "psci";
next-level-cache = <&L2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
clock-names = "cpu";
operating-points-v2 = <&cpu_opp_table>;
cpu-supply = <&ipq9574_s1>;
};
CPU3: cpu@3 {
@ -67,6 +74,10 @@
reg = <0x3>;
enable-method = "psci";
next-level-cache = <&L2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
clock-names = "cpu";
operating-points-v2 = <&cpu_opp_table>;
cpu-supply = <&ipq9574_s1>;
};
L2_0: l2-cache {
@ -75,12 +86,60 @@
};
};
firmware {
scm {
compatible = "qcom,scm-ipq9574", "qcom,scm";
qcom,dload-mode = <&tcsr 0x6100>;
};
};
memory@40000000 {
device_type = "memory";
/* We expect the bootloader to fill in the size */
reg = <0x0 0x40000000 0x0 0x0>;
};
cpu_opp_table: opp-table-cpu {
compatible = "operating-points-v2";
opp-shared;
opp-936000000 {
opp-hz = /bits/ 64 <936000000>;
opp-microvolt = <725000>;
clock-latency-ns = <200000>;
};
opp-1104000000 {
opp-hz = /bits/ 64 <1104000000>;
opp-microvolt = <787500>;
clock-latency-ns = <200000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <862500>;
clock-latency-ns = <200000>;
};
opp-1488000000 {
opp-hz = /bits/ 64 <1488000000>;
opp-microvolt = <925000>;
clock-latency-ns = <200000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <987500>;
clock-latency-ns = <200000>;
};
opp-2208000000 {
opp-hz = /bits/ 64 <2208000000>;
opp-microvolt = <1062500>;
clock-latency-ns = <200000>;
};
};
pmu {
compatible = "arm,cortex-a73-pmu";
interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
@ -100,6 +159,25 @@
reg = <0x0 0x4a600000 0x0 0x400000>;
no-map;
};
smem@4aa00000 {
compatible = "qcom,smem";
reg = <0x0 0x4aa00000 0x0 0x00100000>;
hwlocks = <&tcsr_mutex 0>;
no-map;
};
};
rpm-glink {
compatible = "qcom,glink-rpm";
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
qcom,rpm-msg-ram = <&rpm_msg_ram>;
mboxes = <&apcs_glb 0>;
rpm_requests: rpm-requests {
compatible = "qcom,rpm-ipq9574";
qcom,glink-channels = "rpm_requests";
};
};
soc: soc@0 {
@ -108,6 +186,25 @@
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
rpm_msg_ram: sram@60000 {
compatible = "qcom,rpm-msg-ram";
reg = <0x00060000 0x6000>;
};
rng: rng@e3000 {
compatible = "qcom,prng-ee";
reg = <0x000e3000 0x1000>;
clocks = <&gcc GCC_PRNG_AHB_CLK>;
clock-names = "core";
};
qfprom: efuse@a4000 {
compatible = "qcom,ipq9574-qfprom", "qcom,qfprom";
reg = <0x000a4000 0x5a1>;
#address-cells = <1>;
#size-cells = <1>;
};
tlmm: pinctrl@1000000 {
compatible = "qcom,ipq9574-tlmm";
reg = <0x01000000 0x300000>;
@ -131,7 +228,7 @@
reg = <0x01800000 0x80000>;
clocks = <&xo_board_clk>,
<&sleep_clk>,
<&bias_pll_ubi_nc_clk>,
<0>,
<0>,
<0>,
<0>,
@ -142,6 +239,17 @@
#power-domain-cells = <1>;
};
tcsr_mutex: hwlock@1905000 {
compatible = "qcom,tcsr-mutex";
reg = <0x01905000 0x20000>;
#hwlock-cells = <1>;
};
tcsr: syscon@1937000 {
compatible = "qcom,tcsr-ipq9574", "syscon";
reg = <0x01937000 0x21000>;
};
sdhc_1: mmc@7804000 {
compatible = "qcom,ipq9574-sdhci", "qcom,sdhci-msm-v5";
reg = <0x07804000 0x1000>, <0x07805000 0x1000>;
@ -159,6 +267,36 @@
status = "disabled";
};
blsp_dma: dma-controller@7884000 {
compatible = "qcom,bam-v1.7.0";
reg = <0x07884000 0x2b000>;
interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "bam_clk";
#dma-cells = <1>;
qcom,ee = <0>;
};
blsp1_uart0: serial@78af000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078af000 0x200>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_uart1: serial@78b0000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b0000 0x200>;
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_uart2: serial@78b1000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b1000 0x200>;
@ -169,17 +307,174 @@
status = "disabled";
};
blsp1_uart3: serial@78b2000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b2000 0x200>;
interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART4_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_uart4: serial@78b3000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b3000 0x200>;
interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_uart5: serial@78b4000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b4000 0x200>;
interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART6_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_spi0: spi@78b5000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b5000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 12>, <&blsp_dma 13>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_i2c1: i2c@78b6000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x078b6000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 14>, <&blsp_dma 15>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_spi1: spi@78b6000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b6000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 14>, <&blsp_dma 15>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_i2c2: i2c@78b7000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x078b7000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 16>, <&blsp_dma 17>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_spi2: spi@78b7000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b7000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 16>, <&blsp_dma 17>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_i2c3: i2c@78b8000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x078b8000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 18>, <&blsp_dma 19>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_spi3: spi@78b8000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b8000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
spi-max-frequency = <50000000>;
clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 18>, <&blsp_dma 19>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_i2c4: i2c@78b9000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x078b9000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 20>, <&blsp_dma 21>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_spi4: spi@78b9000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b9000 0x600>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 20>, <&blsp_dma 21>;
dma-names = "tx", "rx";
status = "disabled";
};
intc: interrupt-controller@b000000 {
compatible = "qcom,msm-qgic2";
reg = <0x0b000000 0x1000>, /* GICD */
<0x0b002000 0x1000>, /* GICC */
<0x0b002000 0x2000>, /* GICC */
<0x0b001000 0x1000>, /* GICH */
<0x0b004000 0x1000>; /* GICV */
<0x0b004000 0x2000>; /* GICV */
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
ranges = <0 0x0b00c000 0x3000>;
v2m0: v2m@0 {
@ -201,6 +496,32 @@
};
};
watchdog: watchdog@b017000 {
compatible = "qcom,apss-wdt-ipq9574", "qcom,kpss-wdt";
reg = <0x0b017000 0x1000>;
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
clocks = <&sleep_clk>;
timeout-sec = <30>;
};
apcs_glb: mailbox@b111000 {
compatible = "qcom,ipq9574-apcs-apps-global",
"qcom,ipq6018-apcs-apps-global";
reg = <0x0b111000 0x1000>;
#clock-cells = <1>;
clocks = <&a73pll>, <&xo_board_clk>;
clock-names = "pll", "xo";
#mbox-cells = <1>;
};
a73pll: clock@b116000 {
compatible = "qcom,ipq9574-a73pll";
reg = <0x0b116000 0x40>;
#clock-cells = <0>;
clocks = <&xo_board_clk>;
clock-names = "xo";
};
timer@b120000 {
compatible = "arm,armv7-timer-mem";
reg = <0x0b120000 0x1000>;

View File

@ -22,7 +22,9 @@
chassis-type = "tablet";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -39,14 +41,14 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -58,7 +60,7 @@
accelerometer@10 {
compatible = "bosch,bmc150_accel";
reg = <0x10>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8916_l17>;
@ -89,10 +91,10 @@
compatible = "edt,edt-ft5406";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
vcc-supply = <&pm8916_l16>;
iovcc-supply = <&pm8916_l6>;
@ -105,7 +107,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -114,6 +116,18 @@
status = "okay";
};
&pm8916_rpm_regulators {
pm8916_l16: l16 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -131,7 +145,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_HIGH>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
status = "okay";
};
@ -153,110 +167,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";
function = "gpio";

View File

@ -13,7 +13,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -30,7 +32,7 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
@ -42,7 +44,7 @@
pinctrl-0 = <&gpio_leds_default>;
led-0 {
gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "torch";
function = LED_FUNCTION_TORCH;
};
@ -50,13 +52,13 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 69 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 69 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -66,9 +68,9 @@
touchscreen@26 {
compatible = "mstar,msg2638";
reg = <0x26>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&msmgpio 100 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_reset_default>;
vdd-supply = <&pm8916_l17>;
@ -86,7 +88,7 @@
reg = <0x0c>;
vdd-supply = <&pm8916_l17>;
vid-supply = <&pm8916_l6>;
reset-gpios = <&msmgpio 8 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&mag_reset_default>;
mount-matrix = "0", "1", "0",
@ -99,7 +101,7 @@
reg = <0x0f>;
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l6>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <31 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&accel_int_default>;
@ -111,7 +113,7 @@
proximity@48 {
compatible = "sensortek,stk3310";
reg = <0x48>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&proximity_int_default>;
@ -122,7 +124,7 @@
reg = <0x68>;
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l6>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <97 IRQ_TYPE_EDGE_RISING>,
<98 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
@ -136,7 +138,7 @@
led-controller@68 {
compatible = "si-en,sn3190";
reg = <0x68>;
shutdown-gpios = <&msmgpio 89 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&led_enable_default &led_shutdown_default>;
#address-cells = <1>;
@ -156,6 +158,13 @@
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -175,7 +184,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&usb {
@ -195,110 +204,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio31";
function = "gpio";

View File

@ -13,7 +13,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -30,14 +32,14 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
};
button-volume-down {
label = "Volume Down";
gpios = <&msmgpio 117 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <15>;
};
@ -49,7 +51,7 @@
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
gpio = <&msmgpio 87 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
enable-active-high;
startup-delay-us = <200>;
@ -60,7 +62,7 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpios = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -76,7 +78,7 @@
vdd-supply = <&pm8916_l8>;
vid-supply = <&pm8916_l6>;
reset-gpios = <&msmgpio 112 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 112 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&mag_reset_default>;
@ -86,7 +88,7 @@
compatible = "invensense,mpu6515";
reg = <0x68>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <36 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8916_l17>;
@ -108,10 +110,10 @@
compatible = "edt,edt-ft5306";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
vcc-supply = <&pm8916_l11>;
iovcc-supply = <&pm8916_l6>;
@ -124,10 +126,17 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&sdhc_1 {
status = "okay";
@ -143,7 +152,7 @@
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&usb {
@ -163,110 +172,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
gpio_keys_default: gpio-keys-default-state {
pins = "gpio107", "gpio117";
function = "gpio";

View File

@ -14,7 +14,9 @@
chassis-type = "tablet";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -24,8 +26,8 @@
flash-led-controller {
/* Actually qcom,leds-gpio-flash */
compatible = "sgmicro,sgm3140";
enable-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
flash-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&camera_flash_default>;
pinctrl-names = "default";
@ -45,7 +47,7 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
@ -59,21 +61,21 @@
led-red {
function = LED_FUNCTION_CHARGING;
color = <LED_COLOR_ID_RED>;
gpios = <&msmgpio 117 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
retain-state-suspended;
};
led-green {
function = LED_FUNCTION_CHARGING;
color = <LED_COLOR_ID_GREEN>;
gpios = <&msmgpio 118 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 118 GPIO_ACTIVE_HIGH>;
retain-state-suspended;
};
};
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&usb_id_default>;
pinctrl-names = "default";
};
@ -87,10 +89,10 @@
compatible = "edt,edt-ft5406";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
vcc-supply = <&pm8916_l17>;
iovcc-supply = <&pm8916_l6>;
@ -105,7 +107,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -114,6 +116,13 @@
status = "okay";
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -131,7 +140,7 @@
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
pinctrl-names = "default", "sleep";
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
status = "okay";
};
@ -153,110 +162,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
camera_flash_default: camera-flash-default-state {
pins = "gpio31", "gpio32";
function = "gpio";

View File

@ -26,7 +26,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -43,7 +45,7 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
@ -55,21 +57,21 @@
pinctrl-0 = <&gpio_leds_default>;
led-0 {
gpios = <&msmgpio 8 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_RED>;
default-state = "off";
function = LED_FUNCTION_INDICATOR;
};
led-1 {
gpios = <&msmgpio 9 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_GREEN>;
default-state = "off";
function = LED_FUNCTION_INDICATOR;
};
led-2 {
gpios = <&msmgpio 10 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_BLUE>;
default-state = "off";
function = LED_FUNCTION_INDICATOR;
@ -78,7 +80,7 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 117 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 117 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -94,7 +96,7 @@
vdd-supply = <&pm8916_l17>;
vid-supply = <&pm8916_l6>;
reset-gpios = <&msmgpio 36 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&mag_reset_default>;
@ -104,7 +106,7 @@
compatible = "kionix,kx023-1025";
reg = <0x1e>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8916_l17>;
@ -122,7 +124,7 @@
compatible = "avago,apds9930";
reg = <0x39>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <113 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8916_l17>;
@ -146,7 +148,7 @@
regulator-name = "outp";
regulator-min-microvolt = <5400000>;
regulator-max-microvolt = <5400000>;
enable-gpios = <&msmgpio 97 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 97 GPIO_ACTIVE_HIGH>;
regulator-active-discharge = <1>;
};
@ -154,7 +156,7 @@
regulator-name = "outn";
regulator-min-microvolt = <5400000>;
regulator-max-microvolt = <5400000>;
enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
regulator-active-discharge = <1>;
};
};
@ -169,7 +171,7 @@
#address-cells = <1>;
#size-cells = <0>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8916_l17>;
@ -199,18 +201,18 @@
compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
reg = <0x28>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <21 IRQ_TYPE_EDGE_RISING>;
enable-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
firmware-gpios = <&msmgpio 2 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
firmware-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&nfc_default>;
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -218,11 +220,40 @@
status = "okay";
};
&lpass_codec {
status = "okay";
};
&pm8916_codec {
status = "okay";
qcom,micbias-lvl = <2800>;
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
qcom,hphl-jack-type-normally-open;
};
&pm8916_l8 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
&pm8916_resin {
status = "okay";
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -243,7 +274,7 @@
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdhc2_cd_default>;
/*
* The Huawei device tree sets cd-gpios = <&msmgpio 38 GPIO_ACTIVE_HIGH>.
* The Huawei device tree sets cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>.
* However, gpio38 does not change its state when inserting/removing the
* SD card, it's just low all the time. The Huawei kernel seems to use
* polling for SD card detection instead.
@ -255,7 +286,7 @@
* Maybe Huawei decided to replace the second SIM card slot with the
* SD card slot and forgot to re-route to gpio38.
*/
cd-gpios = <&msmgpio 56 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>;
};
&sound {
@ -277,7 +308,7 @@
sound-dai = <&lpass MI2S_PRIMARY>;
};
codec {
sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
};
};
@ -287,7 +318,7 @@
sound-dai = <&lpass MI2S_TERTIARY>;
};
codec {
sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
};
};
};
@ -301,13 +332,6 @@
extcon = <&usb_id>;
};
&wcd_codec {
qcom,micbias-lvl = <2800>;
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
qcom,hphl-jack-type-normally-open;
};
&wcnss {
status = "okay";
};
@ -316,110 +340,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_irq_default: accel-irq-default-state {
pins = "gpio115";
function = "gpio";

View File

@ -14,7 +14,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -41,7 +43,7 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
@ -53,7 +55,7 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 17 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -62,8 +64,8 @@
flash-led-controller {
compatible = "sgmicro,sgm3140";
flash-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
flash-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&camera_flash_default>;
@ -122,7 +124,7 @@
* to the BMC156. However, there are two pads next to the chip
* that can be shorted to make it work if needed.
*
* interrupt-parent = <&msmgpio>;
* interrupt-parent = <&tlmm>;
* interrupts = <116 IRQ_TYPE_EDGE_RISING>;
*/
@ -141,7 +143,7 @@
compatible = "bosch,bmc156_magn";
reg = <0x12>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <113 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
@ -156,7 +158,7 @@
reg = <0x23>;
proximity-near-level = <75>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -170,7 +172,7 @@
compatible = "bosch,bmg160";
reg = <0x68>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <23 IRQ_TYPE_EDGE_RISING>,
<22 IRQ_TYPE_EDGE_RISING>;
@ -191,7 +193,7 @@
#address-cells = <1>;
#size-cells = <0>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&reg_ctp>;
@ -214,7 +216,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -223,6 +225,13 @@
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_usbin {
status = "okay";
};
@ -267,110 +276,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio116";
function = "gpio";

View File

@ -13,13 +13,30 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
stdout-path = "serial0";
};
flash-led-controller {
compatible = "ocs,ocp8110";
enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
flash-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&camera_front_flash_default>;
pinctrl-names = "default";
flash_led: led {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
flash-max-timeout-us = <250000>;
};
};
gpio-keys {
compatible = "gpio-keys";
@ -30,7 +47,7 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
@ -39,7 +56,7 @@
compatible = "gpio-leds";
led-0 {
gpios = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_WHITE>;
default-state = "off";
function = LED_FUNCTION_KBD_BACKLIGHT;
@ -51,7 +68,7 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -67,7 +84,7 @@
vdd-supply = <&pm8916_l17>;
vid-supply = <&pm8916_l6>;
reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&mag_reset_default>;
@ -86,7 +103,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -95,6 +112,13 @@
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -114,7 +138,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&usb {
@ -134,110 +158,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
button_backlight_default: button-backlight-default-state {
pins = "gpio17";
function = "gpio";
@ -246,6 +167,13 @@
bias-disable;
};
camera_front_flash_default: camera-front-flash-default-state {
pins = "gpio49", "gpio119";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
gpio_keys_default: gpio-keys-default-state {
pins = "gpio107";
function = "gpio";

View File

@ -12,7 +12,7 @@
compatible = "qcom,msm8916-mtp", "qcom,msm8916-mtp/1", "qcom,msm8916";
aliases {
serial0 = &blsp1_uart2;
serial0 = &blsp_uart2;
usid0 = &pm8916_0;
};
@ -21,6 +21,6 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};

View File

@ -3,9 +3,9 @@
* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
*/
&msmgpio {
&tlmm {
blsp1_uart1_default: blsp1-uart1-default-state {
blsp_uart1_default: blsp-uart1-default-state {
/* TX, RX, CTS_N, RTS_N */
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "blsp_uart1";
@ -14,7 +14,7 @@
bias-disable;
};
blsp1_uart1_sleep: blsp1-uart1-sleep-state {
blsp_uart1_sleep: blsp-uart1-sleep-state {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "gpio";
@ -22,7 +22,7 @@
bias-pull-down;
};
blsp1_uart2_default: blsp1-uart2-default-state {
blsp_uart2_default: blsp-uart2-default-state {
pins = "gpio4", "gpio5";
function = "blsp_uart2";
@ -30,7 +30,7 @@
bias-disable;
};
blsp1_uart2_sleep: blsp1-uart2-sleep-state {
blsp_uart2_sleep: blsp-uart2-sleep-state {
pins = "gpio4", "gpio5";
function = "gpio";
@ -38,7 +38,7 @@
bias-pull-down;
};
spi1_default: spi1-default-state {
blsp_spi1_default: blsp-spi1-default-state {
spi-pins {
pins = "gpio0", "gpio1", "gpio3";
function = "blsp_spi1";
@ -56,7 +56,7 @@
};
};
spi1_sleep: spi1-sleep-state {
blsp_spi1_sleep: blsp-spi1-sleep-state {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "gpio";
@ -64,7 +64,7 @@
bias-pull-down;
};
spi2_default: spi2-default-state {
blsp_spi2_default: blsp-spi2-default-state {
spi-pins {
pins = "gpio4", "gpio5", "gpio7";
function = "blsp_spi2";
@ -82,7 +82,7 @@
};
};
spi2_sleep: spi2-sleep-state {
blsp_spi2_sleep: blsp-spi2-sleep-state {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
function = "gpio";
@ -90,7 +90,7 @@
bias-pull-down;
};
spi3_default: spi3-default-state {
blsp_spi3_default: blsp-spi3-default-state {
spi-pins {
pins = "gpio8", "gpio9", "gpio11";
function = "blsp_spi3";
@ -108,7 +108,7 @@
};
};
spi3_sleep: spi3-sleep-state {
blsp_spi3_sleep: blsp-spi3-sleep-state {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "gpio";
@ -116,7 +116,7 @@
bias-pull-down;
};
spi4_default: spi4-default-state {
blsp_spi4_default: blsp-spi4-default-state {
spi-pins {
pins = "gpio12", "gpio13", "gpio15";
function = "blsp_spi4";
@ -134,7 +134,7 @@
};
};
spi4_sleep: spi4-sleep-state {
blsp_spi4_sleep: blsp-spi4-sleep-state {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
function = "gpio";
@ -142,7 +142,7 @@
bias-pull-down;
};
spi5_default: spi5-default-state {
blsp_spi5_default: blsp-spi5-default-state {
spi-pins {
pins = "gpio16", "gpio17", "gpio19";
function = "blsp_spi5";
@ -160,7 +160,7 @@
};
};
spi5_sleep: spi5-sleep-state {
blsp_spi5_sleep: blsp-spi5-sleep-state {
pins = "gpio16", "gpio17", "gpio18", "gpio19";
function = "gpio";
@ -168,7 +168,7 @@
bias-pull-down;
};
spi6_default: spi6-default-state {
blsp_spi6_default: blsp-spi6-default-state {
spi-pins {
pins = "gpio20", "gpio21", "gpio23";
function = "blsp_spi6";
@ -186,7 +186,7 @@
};
};
spi6_sleep: spi6-sleep-state {
blsp_spi6_sleep: blsp-spi6-sleep-state {
pins = "gpio20", "gpio21", "gpio22", "gpio23";
function = "gpio";
@ -194,7 +194,7 @@
bias-pull-down;
};
i2c1_default: i2c1-default-state {
blsp_i2c1_default: blsp-i2c1-default-state {
pins = "gpio2", "gpio3";
function = "blsp_i2c1";
@ -202,7 +202,7 @@
bias-disable;
};
i2c1_sleep: i2c1-sleep-state {
blsp_i2c1_sleep: blsp-i2c1-sleep-state {
pins = "gpio2", "gpio3";
function = "gpio";
@ -210,7 +210,7 @@
bias-disable;
};
i2c2_default: i2c2-default-state {
blsp_i2c2_default: blsp-i2c2-default-state {
pins = "gpio6", "gpio7";
function = "blsp_i2c2";
@ -218,7 +218,7 @@
bias-disable;
};
i2c2_sleep: i2c2-sleep-state {
blsp_i2c2_sleep: blsp-i2c2-sleep-state {
pins = "gpio6", "gpio7";
function = "gpio";
@ -226,7 +226,7 @@
bias-disable;
};
i2c3_default: i2c3-default-state {
blsp_i2c3_default: blsp-i2c3-default-state {
pins = "gpio10", "gpio11";
function = "blsp_i2c3";
@ -234,7 +234,7 @@
bias-disable;
};
i2c3_sleep: i2c3-sleep-state {
blsp_i2c3_sleep: blsp-i2c3-sleep-state {
pins = "gpio10", "gpio11";
function = "gpio";
@ -242,7 +242,7 @@
bias-disable;
};
i2c4_default: i2c4-default-state {
blsp_i2c4_default: blsp-i2c4-default-state {
pins = "gpio14", "gpio15";
function = "blsp_i2c4";
@ -250,7 +250,7 @@
bias-disable;
};
i2c4_sleep: i2c4-sleep-state {
blsp_i2c4_sleep: blsp-i2c4-sleep-state {
pins = "gpio14", "gpio15";
function = "gpio";
@ -258,7 +258,7 @@
bias-disable;
};
i2c5_default: i2c5-default-state {
blsp_i2c5_default: blsp-i2c5-default-state {
pins = "gpio18", "gpio19";
function = "blsp_i2c5";
@ -266,7 +266,7 @@
bias-disable;
};
i2c5_sleep: i2c5-sleep-state {
blsp_i2c5_sleep: blsp-i2c5-sleep-state {
pins = "gpio18", "gpio19";
function = "gpio";
@ -274,7 +274,7 @@
bias-disable;
};
i2c6_default: i2c6-default-state {
blsp_i2c6_default: blsp-i2c6-default-state {
pins = "gpio22", "gpio23";
function = "blsp_i2c6";
@ -282,7 +282,7 @@
bias-disable;
};
i2c6_sleep: i2c6-sleep-state {
blsp_i2c6_sleep: blsp-i2c6-sleep-state {
pins = "gpio22", "gpio23";
function = "gpio";

View File

@ -1,4 +1,12 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* msm8916-pm8916.dtsi describes common properties (e.g. regulator connections)
* that apply to most devices that make use of the MSM8916 SoC and PM8916 PMIC.
* Many regulators have a fixed purpose in the original reference design and
* were rarely re-used for different purposes. Devices that deviate from the
* typical reference design should not make use of this include and instead add
* the necessary properties in the board-specific device tree.
*/
#include "msm8916.dtsi"
#include "pm8916.dtsi"
@ -7,12 +15,12 @@
vdda-supply = <&pm8916_l2>;
};
&dsi0 {
&mdss_dsi0 {
vdda-supply = <&pm8916_l2>;
vddio-supply = <&pm8916_l6>;
};
&dsi_phy0 {
&mdss_dsi0_phy {
vddio-supply = <&pm8916_l6>;
};
@ -20,6 +28,12 @@
pll-supply = <&pm8916_l7>;
};
&pm8916_codec {
vdd-cdc-io-supply = <&pm8916_l5>;
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
vdd-micbias-supply = <&pm8916_l13>;
};
&sdhc_1 {
vmmc-supply = <&pm8916_l8>;
vqmmc-supply = <&pm8916_l5>;
@ -47,30 +61,97 @@
};
&rpm_requests {
smd_rpm_regulators: regulators {
pm8916_rpm_regulators: regulators {
compatible = "qcom,rpm-pm8916-regulators";
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
/* pm8916_s1 is managed by rpmpd (MSM8916_VDDCX) */
pm8916_s3: s3 {};
pm8916_s4: s4 {};
pm8916_l1: l1 {};
pm8916_l2: l2 {};
pm8916_s3: s3 {
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1350000>;
regulator-always-on; /* Needed for L2 */
};
pm8916_s4: s4 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2150000>;
regulator-always-on; /* Needed for L5/L7 */
};
/*
* Some of the regulators are unused or managed by another
* processor (e.g. the modem). We should still define nodes for
* them to ensure the vote from the application processor can be
* dropped in case the regulators are already on during boot.
*
* The labels for these nodes are omitted on purpose because
* boards should configure a proper voltage before using them.
*/
l1 {};
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on; /* Needed for LPDDR RAM */
};
/* pm8916_l3 is managed by rpmpd (MSM8916_VDDMX) */
pm8916_l4: l4 {};
pm8916_l5: l5 {};
pm8916_l6: l6 {};
pm8916_l7: l7 {};
pm8916_l8: l8 {};
pm8916_l9: l9 {};
pm8916_l10: l10 {};
pm8916_l11: l11 {};
pm8916_l12: l12 {};
pm8916_l13: l13 {};
pm8916_l14: l14 {};
pm8916_l15: l15 {};
pm8916_l16: l16 {};
pm8916_l17: l17 {};
pm8916_l18: l18 {};
l4 {};
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on; /* Needed for most digital I/O */
};
pm8916_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on; /* Needed for CPU PLL */
};
pm8916_l8: l8 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {};
pm8916_l11: l11 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {};
l15 {};
l16 {};
l17 {};
l18 {};
};
};

View File

@ -8,7 +8,9 @@
/ {
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -44,13 +46,13 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
button-home {
label = "Home";
gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
};
@ -65,7 +67,7 @@
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
@ -83,7 +85,7 @@
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
gpio = <&msmgpio 76 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -96,7 +98,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -105,8 +107,8 @@
i2c-muic {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&muic_i2c_default>;
@ -118,7 +120,7 @@
compatible = "siliconmitus,sm5502-muic";
reg = <0x25>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -128,8 +130,8 @@
i2c-tkey {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&tkey_i2c_default>;
@ -142,7 +144,7 @@
compatible = "coreriver,tc360-touchkey";
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
/* vcc/vdd-supply are board-specific */
@ -157,8 +159,8 @@
i2c-nfc {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&nfc_i2c_default>;
@ -170,11 +172,11 @@
compatible = "samsung,s3fwrn5-i2c";
reg = <0x27>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <21 IRQ_TYPE_EDGE_RISING>;
en-gpios = <&msmgpio 20 GPIO_ACTIVE_LOW>;
wake-gpios = <&msmgpio 49 GPIO_ACTIVE_HIGH>;
en-gpios = <&tlmm 20 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
clocks = <&rpmcc RPM_SMD_BB_CLK2_PIN>;
@ -200,7 +202,7 @@
accelerometer: accelerometer@10 {
compatible = "bosch,bmc150_accel";
reg = <0x10>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8916_l17>;
@ -225,7 +227,7 @@
battery@35 {
compatible = "richtek,rt5033-battery";
reg = <0x35>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <121 IRQ_TYPE_EDGE_BOTH>;
pinctrl-names = "default";
@ -233,25 +235,32 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
&dsi0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mdss_default>;
pinctrl-1 = <&mdss_sleep>;
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mdss_default>;
pinctrl-1 = <&mdss_sleep>;
};
&pm8916_resin {
status = "okay";
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&sdhc_1 {
status = "okay";
@ -267,7 +276,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&usb {
@ -279,110 +288,7 @@
extcon = <&muic>;
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";
function = "gpio";

View File

@ -15,7 +15,7 @@
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&msmgpio 9 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -28,7 +28,7 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&msmgpio 86 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -41,7 +41,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 60 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -67,7 +67,7 @@
compatible = "zinitix,bt541";
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <540>;
@ -85,7 +85,7 @@
status = "okay";
};
&dsi0 {
&mdss_dsi0 {
panel@0 {
reg = <0>;
@ -93,17 +93,17 @@
vdd3-supply = <&reg_panel_vdd3>;
vci-supply = <&pm8916_l17>;
reset-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
reset-gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
port {
panel_in: endpoint {
remote-endpoint = <&dsi0_out>;
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&dsi0_out {
&mdss_dsi0_out {
data-lanes = <0 1>;
remote-endpoint = <&panel_in>;
};
@ -120,7 +120,7 @@
compatible = "qcom,wcn3620";
};
&msmgpio {
&tlmm {
panel_vdd3_default: panel-vdd3-default-state {
pins = "gpio9";
function = "gpio";

View File

@ -15,7 +15,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 97 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -36,7 +36,7 @@
compatible = "melfas,mms345l";
reg = <0x48>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <720>;
@ -71,7 +71,7 @@
compatible = "qcom,wcn3660b";
};
&msmgpio {
&tlmm {
tkey_en_default: tkey-en-default-state {
pins = "gpio97";
function = "gpio";

View File

@ -18,7 +18,7 @@
compatible = "siliconmitus,sm5504-muic";
reg = <0x14>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -32,7 +32,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 97 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -66,7 +66,7 @@
compatible = "qcom,wcn3620";
};
&msmgpio {
&tlmm {
tkey_en_default: tkey-en-default-state {
pins = "gpio97";
function = "gpio";

View File

@ -33,7 +33,7 @@
function = LED_FUNCTION_KBD_BACKLIGHT;
color = <LED_COLOR_ID_WHITE>;
gpios = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&gpio_leds_default>;
@ -42,14 +42,14 @@
};
&reg_motor_vdd {
gpio = <&msmgpio 72 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 72 GPIO_ACTIVE_HIGH>;
};
&reg_touch_key {
status = "disabled";
};
&msmgpio {
&tlmm {
gpio_leds_default: gpio-led-default-state {
pins = "gpio60";
function = "gpio";

View File

@ -9,7 +9,9 @@
/ {
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -34,13 +36,13 @@
volume-up-button {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
home-button {
label = "Home";
gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
};
@ -55,7 +57,7 @@
hall-sensor-switch {
label = "Hall Effect Sensor";
gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
@ -74,7 +76,7 @@
maxim,over-heat-temp = <600>;
maxim,over-volt = <4400>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&fuelgauge_int_default>;
@ -97,7 +99,7 @@
vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l5>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "INT1";
@ -111,7 +113,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -120,6 +122,13 @@
status = "okay";
};
&pm8916_rpm_regulators {
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
/* FIXME: Replace with MAX77849 MUIC when driver is available */
&pm8916_usbin {
status = "okay";
@ -138,7 +147,7 @@
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
pinctrl-names = "default", "sleep";
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
status = "okay";
};
@ -162,110 +171,7 @@
compatible = "qcom,wcn3660b";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio115";
function = "gpio";

View File

@ -25,7 +25,7 @@
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
gpio = <&msmgpio 76 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&motor_en_default>;
@ -38,7 +38,7 @@
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&tsp_en_default>;
@ -51,7 +51,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
@ -71,20 +71,20 @@
touchscreen@4a {
compatible = "atmel,maxtouch";
reg = <0x4a>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
vdd-supply = <&reg_tsp_1p8v>;
vdda-supply = <&reg_tsp_3p3v>;
reset-gpios = <&msmgpio 114 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&tsp_int_rst_default>;
pinctrl-names = "default";
};
};
&msmgpio {
&tlmm {
motor_en_default: motor-en-default-state {
pins = "gpio76";
function = "gpio";

View File

@ -15,7 +15,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_tsp_en_default>;
@ -24,7 +24,7 @@
vibrator {
compatible = "gpio-vibrator";
enable-gpios = <&msmgpio 76 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 76 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&vibrator_en_default>;
pinctrl-names = "default";
@ -37,7 +37,7 @@
touchscreen@20 {
compatible = "zinitix,bt532";
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <768>;
@ -51,7 +51,7 @@
};
};
&msmgpio {
&tlmm {
reg_tsp_en_default: reg-tsp-en-default-state {
pins = "gpio73";
function = "gpio";

View File

@ -7,7 +7,9 @@
/ {
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -32,7 +34,7 @@
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
@ -49,21 +51,21 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
button-home {
label = "Home Key";
gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
};
i2c_muic: i2c-muic {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&muic_i2c_default>;
@ -75,7 +77,7 @@
compatible = "siliconmitus,sm5703-muic";
reg = <0x25>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -84,7 +86,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -108,7 +110,7 @@
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
&usb {
@ -128,110 +130,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
pins = "gpio52";
function = "gpio";

View File

@ -28,7 +28,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -53,13 +55,13 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
button-home {
label = "Home";
gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
};
@ -74,7 +76,7 @@
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
@ -87,7 +89,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -100,7 +102,7 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&msmgpio 86 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -113,7 +115,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
gpio = <&tlmm 60 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
@ -122,8 +124,8 @@
i2c-muic {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&muic_i2c_default>;
@ -135,7 +137,7 @@
compatible = "siliconmitus,sm5504-muic";
reg = <0x14>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -145,8 +147,8 @@
i2c-tkey {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&tkey_i2c_default>;
@ -158,7 +160,7 @@
compatible = "coreriver,tc360-touchkey";
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
vcc-supply = <&reg_touch_key>;
@ -174,8 +176,8 @@
i2c-nfc {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&msmgpio 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-names = "default";
pinctrl-0 = <&nfc_i2c_default>;
@ -187,11 +189,11 @@
compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
reg = <0x2b>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <21 IRQ_TYPE_EDGE_RISING>;
enable-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
firmware-gpios = <&msmgpio 49 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
firmware-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&nfc_default>;
@ -206,7 +208,7 @@
compatible = "st,lsm6ds3";
reg = <0x6b>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
@ -230,7 +232,7 @@
compatible = "richtek,rt5033-battery";
reg = <0x35>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
@ -245,7 +247,7 @@
compatible = "zinitix,bt541";
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <540>;
@ -259,7 +261,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -320,110 +322,7 @@
compatible = "qcom,wcn3660b";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
fg_alert_default: fg-alert-default-state {
pins = "gpio121";
function = "gpio";

View File

@ -10,19 +10,19 @@
};
&button_restart {
gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
};
&led_r {
gpios = <&msmgpio 82 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>;
};
&led_g {
gpios = <&msmgpio 83 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 83 GPIO_ACTIVE_HIGH>;
};
&led_b {
gpios = <&msmgpio 81 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
};
&button_default {

View File

@ -10,19 +10,19 @@
};
&button_restart {
gpios = <&msmgpio 37 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
};
&led_r {
gpios = <&msmgpio 22 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
};
&led_g {
gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
};
&led_b {
gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
};
&mpss {
@ -40,7 +40,7 @@
};
/* This selects the external SIM card slot by default */
&msmgpio {
&tlmm {
sim_ctrl_default: sim-ctrl-default-state {
esim-sel-pins {
pins = "gpio0", "gpio3";

View File

@ -9,7 +9,8 @@
chassis-type = "embedded";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
serial0 = &blsp_uart2;
};
chosen {
@ -82,11 +83,11 @@
status = "okay";
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
/* Remove &dsi_phy0 from clocks to make sure that gcc probes with display disabled */
/* Remove &mdss_dsi0_phy from clocks to make sure that gcc probes with display disabled */
&gcc {
clocks = <&xo_board>, <&sleep_clk>, <0>, <0>, <0>, <0>, <0>;
};
@ -109,7 +110,7 @@
&usb {
extcon = <&pm8916_usbin>;
dr_mode = "peripheral";
usb-role-switch;
status = "okay";
};
@ -126,110 +127,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
/* pins are board-specific */
button_default: button-default-state {
function = "gpio";

View File

@ -16,7 +16,9 @@
chassis-type = "handset";
aliases {
serial0 = &blsp1_uart2;
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};
chosen {
@ -25,8 +27,8 @@
flash-led-controller {
compatible = "ocs,ocp8110";
enable-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
flash-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&camera_flash_default>;
@ -47,14 +49,14 @@
button-volume-up {
label = "Volume Up";
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
@ -67,7 +69,7 @@
compatible = "invensense,mpu6880";
reg = <0x68>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <115 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8916_l17>;
@ -90,10 +92,10 @@
compatible = "edt,edt-ft5506";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
interrupt-parent = <&tlmm>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
vcc-supply = <&pm8916_l17>;
iovcc-supply = <&pm8916_l6>;
@ -140,7 +142,7 @@
};
};
&blsp1_uart2 {
&blsp_uart2 {
status = "okay";
};
@ -149,6 +151,22 @@
linux,code = <KEY_VOLUMEDOWN>;
};
&pm8916_rpm_regulators {
pm8916_l16: l16 {
/*
* L16 is only used for AW2013 which is fine with 2.5-3.3V.
* Use the recommended typical voltage of 2.8V as minimum.
*/
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
};
&pm8916_vib {
status = "okay";
};
@ -188,110 +206,7 @@
compatible = "qcom,wcn3620";
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2800000>;
};
l11 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
l16 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3300000>;
};
l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&msmgpio {
&tlmm {
camera_flash_default: camera-flash-default-state {
pins = "gpio31", "gpio32";
function = "gpio";

View File

@ -10,19 +10,19 @@
};
&button_restart {
gpios = <&msmgpio 23 GPIO_ACTIVE_LOW>;
gpios = <&tlmm 23 GPIO_ACTIVE_LOW>;
};
&led_r {
gpios = <&msmgpio 7 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>;
};
&led_g {
gpios = <&msmgpio 8 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
};
&led_b {
gpios = <&msmgpio 6 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
};
&button_default {

View File

@ -18,11 +18,6 @@
#address-cells = <2>;
#size-cells = <2>;
aliases {
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_2; /* SDC2 SD card slot */
};
chosen { };
memory@80000000 {
@ -992,12 +987,12 @@
};
};
msmgpio: pinctrl@1000000 {
tlmm: pinctrl@1000000 {
compatible = "qcom,msm8916-pinctrl";
reg = <0x01000000 0x300000>;
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
gpio-ranges = <&msmgpio 0 0 122>;
gpio-ranges = <&tlmm 0 0 122>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
@ -1011,8 +1006,8 @@
reg = <0x01800000 0x80000>;
clocks = <&xo_board>,
<&sleep_clk>,
<&dsi_phy0 1>,
<&dsi_phy0 0>,
<&mdss_dsi0_phy 1>,
<&mdss_dsi0_phy 0>,
<0>,
<0>,
<0>;
@ -1061,7 +1056,7 @@
#size-cells = <1>;
ranges;
mdp: display-controller@1a01000 {
mdss_mdp: display-controller@1a01000 {
compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
reg = <0x01a01000 0x89000>;
reg-names = "mdp_phys";
@ -1086,14 +1081,14 @@
port@0 {
reg = <0>;
mdp5_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>;
mdss_mdp_intf1_out: endpoint {
remote-endpoint = <&mdss_dsi0_in>;
};
};
};
};
dsi0: dsi@1a98000 {
mdss_dsi0: dsi@1a98000 {
compatible = "qcom,msm8916-dsi-ctrl",
"qcom,mdss-dsi-ctrl";
reg = <0x01a98000 0x25c>;
@ -1104,8 +1099,8 @@
assigned-clocks = <&gcc BYTE0_CLK_SRC>,
<&gcc PCLK0_CLK_SRC>;
assigned-clock-parents = <&dsi_phy0 0>,
<&dsi_phy0 1>;
assigned-clock-parents = <&mdss_dsi0_phy 0>,
<&mdss_dsi0_phy 1>;
clocks = <&gcc GCC_MDSS_MDP_CLK>,
<&gcc GCC_MDSS_AHB_CLK>,
@ -1119,7 +1114,7 @@
"byte",
"pixel",
"core";
phys = <&dsi_phy0>;
phys = <&mdss_dsi0_phy>;
#address-cells = <1>;
#size-cells = <0>;
@ -1130,20 +1125,20 @@
port@0 {
reg = <0>;
dsi0_in: endpoint {
remote-endpoint = <&mdp5_intf1_out>;
mdss_dsi0_in: endpoint {
remote-endpoint = <&mdss_mdp_intf1_out>;
};
};
port@1 {
reg = <1>;
dsi0_out: endpoint {
mdss_dsi0_out: endpoint {
};
};
};
};
dsi_phy0: phy@1a98300 {
mdss_dsi0_phy: phy@1a98300 {
compatible = "qcom,dsi-phy-28nm-lp";
reg = <0x01a98300 0xd4>,
<0x01a98500 0x280>,
@ -1161,7 +1156,7 @@
};
};
camss: camss@1b00000 {
camss: camss@1b0ac00 {
compatible = "qcom,msm8916-camss";
reg = <0x01b0ac00 0x200>,
<0x01b00030 0x4>,
@ -1519,20 +1514,20 @@
* Primary/Secondary MI2S both use the PRI_I2S_CLK.
*/
clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
<&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
<&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>,
<&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
<&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
<&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
<&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>;
<&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
<&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
<&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
clock-names = "ahbix-clk",
"pcnoc-mport-clk",
"pcnoc-sway-clk",
"mi2s-bit-clk0",
"mi2s-bit-clk1",
"mi2s-bit-clk2",
"mi2s-bit-clk3";
"mi2s-bit-clk3",
"pcnoc-mport-clk",
"pcnoc-sway-clk";
#sound-dai-cells = <1>;
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
@ -1551,9 +1546,10 @@
<&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "ahbix-clk", "mclk";
#sound-dai-cells = <1>;
status = "disabled";
};
sdhc_1: mmc@7824000 {
sdhc_1: mmc@7824900 {
compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
reg = <0x07824900 0x11c>, <0x07824000 0x800>;
reg-names = "hc", "core";
@ -1571,7 +1567,7 @@
status = "disabled";
};
sdhc_2: mmc@7864000 {
sdhc_2: mmc@7864900 {
compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
reg = <0x07864900 0x11c>, <0x07864000 0x800>;
reg-names = "hc", "core";
@ -1597,7 +1593,7 @@
qcom,ee = <0>;
};
blsp1_uart1: serial@78af000 {
blsp_uart1: serial@78af000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078af000 0x200>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
@ -1606,12 +1602,12 @@
dmas = <&blsp_dma 0>, <&blsp_dma 1>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp1_uart1_default>;
pinctrl-1 = <&blsp1_uart1_sleep>;
pinctrl-0 = <&blsp_uart1_default>;
pinctrl-1 = <&blsp_uart1_sleep>;
status = "disabled";
};
blsp1_uart2: serial@78b0000 {
blsp_uart2: serial@78b0000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b0000 0x200>;
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
@ -1620,8 +1616,8 @@
dmas = <&blsp_dma 2>, <&blsp_dma 3>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp1_uart2_default>;
pinctrl-1 = <&blsp1_uart2_sleep>;
pinctrl-0 = <&blsp_uart2_default>;
pinctrl-1 = <&blsp_uart2_sleep>;
status = "disabled";
};
@ -1635,8 +1631,8 @@
dmas = <&blsp_dma 4>, <&blsp_dma 5>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c1_default>;
pinctrl-1 = <&i2c1_sleep>;
pinctrl-0 = <&blsp_i2c1_default>;
pinctrl-1 = <&blsp_i2c1_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1652,8 +1648,8 @@
dmas = <&blsp_dma 4>, <&blsp_dma 5>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-0 = <&blsp_spi1_default>;
pinctrl-1 = <&blsp_spi1_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1669,8 +1665,8 @@
dmas = <&blsp_dma 6>, <&blsp_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c2_default>;
pinctrl-1 = <&i2c2_sleep>;
pinctrl-0 = <&blsp_i2c2_default>;
pinctrl-1 = <&blsp_i2c2_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1686,8 +1682,8 @@
dmas = <&blsp_dma 6>, <&blsp_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi2_default>;
pinctrl-1 = <&spi2_sleep>;
pinctrl-0 = <&blsp_spi2_default>;
pinctrl-1 = <&blsp_spi2_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1703,8 +1699,8 @@
dmas = <&blsp_dma 8>, <&blsp_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c3_default>;
pinctrl-1 = <&i2c3_sleep>;
pinctrl-0 = <&blsp_i2c3_default>;
pinctrl-1 = <&blsp_i2c3_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1720,8 +1716,8 @@
dmas = <&blsp_dma 8>, <&blsp_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi3_default>;
pinctrl-1 = <&spi3_sleep>;
pinctrl-0 = <&blsp_spi3_default>;
pinctrl-1 = <&blsp_spi3_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1737,8 +1733,8 @@
dmas = <&blsp_dma 10>, <&blsp_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c4_default>;
pinctrl-1 = <&i2c4_sleep>;
pinctrl-0 = <&blsp_i2c4_default>;
pinctrl-1 = <&blsp_i2c4_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1754,8 +1750,8 @@
dmas = <&blsp_dma 10>, <&blsp_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi4_default>;
pinctrl-1 = <&spi4_sleep>;
pinctrl-0 = <&blsp_spi4_default>;
pinctrl-1 = <&blsp_spi4_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1771,8 +1767,8 @@
dmas = <&blsp_dma 12>, <&blsp_dma 13>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c5_default>;
pinctrl-1 = <&i2c5_sleep>;
pinctrl-0 = <&blsp_i2c5_default>;
pinctrl-1 = <&blsp_i2c5_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1788,8 +1784,8 @@
dmas = <&blsp_dma 12>, <&blsp_dma 13>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi5_default>;
pinctrl-1 = <&spi5_sleep>;
pinctrl-0 = <&blsp_spi5_default>;
pinctrl-1 = <&blsp_spi5_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1805,8 +1801,8 @@
dmas = <&blsp_dma 14>, <&blsp_dma 15>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c6_default>;
pinctrl-1 = <&i2c6_sleep>;
pinctrl-0 = <&blsp_i2c6_default>;
pinctrl-1 = <&blsp_i2c6_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1822,8 +1818,8 @@
dmas = <&blsp_dma 14>, <&blsp_dma 15>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi6_default>;
pinctrl-1 = <&spi6_sleep>;
pinctrl-0 = <&blsp_spi6_default>;
pinctrl-1 = <&blsp_spi6_sleep>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
@ -1870,7 +1866,7 @@
};
};
wcnss: remoteproc@a21b000 {
wcnss: remoteproc@a204000 {
compatible = "qcom,pronto-v2-pil", "qcom,pronto";
reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
reg-names = "ccu", "dxe", "pmu";

View File

@ -0,0 +1,82 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "msm8939.dtsi"
#include "pm8916.dtsi"
&mdss_dsi0 {
vdda-supply = <&pm8916_l2>;
vddio-supply = <&pm8916_l6>;
};
&mdss_dsi0_phy {
vddio-supply = <&pm8916_l6>;
};
&mdss_dsi1 {
vdda-supply = <&pm8916_l2>;
vddio-supply = <&pm8916_l6>;
};
&mdss_dsi1_phy {
vddio-supply = <&pm8916_l6>;
};
&mpss {
pll-supply = <&pm8916_l7>;
};
&rpm_requests {
smd_rpm_regulators: regulators {
compatible = "qcom,rpm-pm8916-regulators";
/* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */
/* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */
pm8916_s3: s3 {};
pm8916_s4: s4 {};
pm8916_l1: l1 {};
pm8916_l2: l2 {};
/* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */
pm8916_l4: l4 {};
pm8916_l5: l5 {};
pm8916_l6: l6 {};
pm8916_l7: l7 {};
pm8916_l8: l8 {};
pm8916_l9: l9 {};
pm8916_l10: l10 {};
pm8916_l11: l11 {};
pm8916_l12: l12 {};
pm8916_l13: l13 {};
pm8916_l14: l14 {};
pm8916_l15: l15 {};
pm8916_l16: l16 {};
pm8916_l17: l17 {};
pm8916_l18: l18 {};
};
};
&sdhc_1 {
vmmc-supply = <&pm8916_l8>;
vqmmc-supply = <&pm8916_l5>;
};
&sdhc_2 {
vmmc-supply = <&pm8916_l11>;
vqmmc-supply = <&pm8916_l12>;
};
&usb_hs_phy {
v1p8-supply = <&pm8916_l7>;
v3p3-supply = <&pm8916_l13>;
};
&wcnss {
vddpx-supply = <&pm8916_l7>;
};
&wcnss_iris {
vddxo-supply = <&pm8916_l7>;
vddrfa-supply = <&pm8916_s3>;
vddpa-supply = <&pm8916_l9>;
vdddig-supply = <&pm8916_l5>;
};

View File

@ -0,0 +1,183 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023, Bryan O'Donoghue.
*
*/
/dts-v1/;
#include "msm8939.dtsi"
#include "msm8939-pm8916.dtsi"
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
/ {
model = "Sony Xperia M4 Aqua";
compatible = "sony,kanuti-tulip", "qcom,msm8939";
qcom,board-id = <QCOM_BOARD_ID_MTP 0>;
qcom,msm-id = <QCOM_ID_MSM8939 0>, <QCOM_ID_MSM8939 0x30000>;
aliases {
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_2; /* SDC2 SD card slot */
serial0 = &blsp_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&usb_id_default>;
pinctrl-names = "default";
};
};
&mdss {
status = "okay";
};
&tlmm {
usb_id_default: usb-id-default-state {
pins = "gpio110";
function = "gpio";
bias-pull-up;
drive-strength = <8>;
};
};
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
pm8916_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8916_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8916_l4: l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l8: l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l10: l10 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l11: l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8916_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8916_l18: l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&sdhc_1 {
pinctrl-0 = <&sdc1_default_state>;
pinctrl-1 = <&sdc1_sleep_state>;
pinctrl-names = "default", "sleep";
status = "okay";
};
&sdhc_2 {
pinctrl-0 = <&sdc2_default_state>;
pinctrl-1 = <&sdc2_sleep_state>;
pinctrl-names = "default", "sleep";
cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&usb {
extcon = <&usb_id>, <&usb_id>;
status = "okay";
};
&usb_hs_phy {
extcon = <&usb_id>;
};
&wcnss {
status = "okay";
};
&wcnss_iris {
compatible = "qcom,wcn3660";
};

File diff suppressed because it is too large Load Diff

View File

@ -1000,7 +1000,7 @@
};
};
apps_iommu: iommu@1e00000 {
apps_iommu: iommu@1e20000 {
compatible = "qcom,msm8953-iommu", "qcom,msm-iommu-v1";
ranges = <0 0x01e20000 0x20000>;
@ -1274,6 +1274,19 @@
};
};
blsp1_dma: dma-controller@7884000 {
compatible = "qcom,bam-v1.7.0";
reg = <0x07884000 0x1f000>;
interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "bam_clk";
num-channels = <12>;
#dma-cells = <1>;
qcom,ee = <0>;
qcom,num-ees = <4>;
qcom,controlled-remotely;
};
uart_0: serial@78af000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078af000 0x200>;
@ -1292,6 +1305,8 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_1_default>;
@ -1310,6 +1325,8 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_2_default>;
@ -1328,6 +1345,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_3_default>;
pinctrl-1 = <&i2c_3_sleep>;
@ -1345,6 +1365,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_4_default>;
pinctrl-1 = <&i2c_4_sleep>;
@ -1355,6 +1378,19 @@
status = "disabled";
};
blsp2_dma: dma-controller@7ac4000 {
compatible = "qcom,bam-v1.7.0";
reg = <0x07ac4000 0x1f000>;
interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "bam_clk";
num-channels = <12>;
#dma-cells = <1>;
qcom,ee = <0>;
qcom,num-ees = <4>;
qcom,controlled-remotely;
};
i2c_5: i2c@7af5000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x07af5000 0x600>;
@ -1362,6 +1398,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
dmas = <&blsp2_dma 4>, <&blsp2_dma 5>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_5_default>;
pinctrl-1 = <&i2c_5_sleep>;
@ -1379,6 +1418,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_6_default>;
pinctrl-1 = <&i2c_6_sleep>;
@ -1396,6 +1438,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_7_default>;
pinctrl-1 = <&i2c_7_sleep>;
@ -1413,6 +1458,9 @@
clock-names = "core", "iface";
clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c_8_default>;
pinctrl-1 = <&i2c_8_sleep>;
@ -1423,7 +1471,7 @@
status = "disabled";
};
wcnss: remoteproc@a21b000 {
wcnss: remoteproc@a204000 {
compatible = "qcom,pronto-v3-pil", "qcom,pronto";
reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
reg-names = "ccu", "dxe", "pmu";
@ -1505,8 +1553,8 @@
timer@b120000 {
compatible = "arm,armv7-timer-mem";
reg = <0x0b120000 0x1000>;
#address-cells = <0x01>;
#size-cells = <0x01>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
frame@b121000 {

View File

@ -820,7 +820,7 @@
#interrupt-cells = <4>;
};
sdhc_1: mmc@7824000 {
sdhc_1: mmc@7824900 {
compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
reg = <0x07824900 0x500>, <0x07824000 0x800>;
reg-names = "hc", "core";
@ -836,7 +836,7 @@
status = "disabled";
};
sdhc_2: mmc@7864000 {
sdhc_2: mmc@7864900 {
compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
reg = <0x07864900 0x11c>, <0x07864000 0x800>;
reg-names = "hc", "core";
@ -955,7 +955,7 @@
#reset-cells = <1>;
};
sdhc_3: mmc@7a24000 {
sdhc_3: mmc@7a24900 {
compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
reg = <0x07a24900 0x11c>, <0x07a24000 0x800>;
reg-names = "hc", "core";

View File

@ -340,8 +340,7 @@
};
};
soc: soc {
soc: soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
@ -745,7 +744,7 @@
reg = <0xfc4ab000 0x4>;
};
spmi_bus: spmi@fc4c0000 {
spmi_bus: spmi@fc4cf000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xfc4cf000 0x1000>,
<0xfc4cb000 0x1000>,

View File

@ -11,6 +11,7 @@
#include "pmi8996.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
@ -605,6 +606,34 @@
};
};
&pmi8994_lpg {
qcom,power-source = <1>;
status = "okay";
multi-led {
color = <LED_COLOR_ID_RGB>;
function = LED_FUNCTION_STATUS;
#address-cells = <1>;
#size-cells = <0>;
led@1 {
reg = <1>;
color = <LED_COLOR_ID_BLUE>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_RED>;
};
};
};
&pmi8994_spmi_regulators {
vdd_gfx:
pmi8994_s2: s2 {

View File

@ -604,7 +604,7 @@
};
};
soc: soc {
soc: soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
@ -887,16 +887,16 @@
#power-domain-cells = <1>;
reg = <0x008c0000 0x40000>;
clocks = <&xo_board>,
<&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
<&gcc GPLL0>,
<&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
<&dsi0_phy 1>,
<&dsi0_phy 0>,
<&dsi1_phy 1>,
<&dsi1_phy 0>,
<&hdmi_phy>;
clock-names = "xo",
"gcc_mmss_noc_cfg_ahb_clk",
"gpll0",
"gcc_mmss_noc_cfg_ahb_clk",
"dsi0pll",
"dsi0pllbyte",
"dsi1pll",
@ -1830,7 +1830,7 @@
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ranges = <0x0 0x0 0xffffffff>;
pcie0: pcie@600000 {
compatible = "qcom,pcie-msm8996";
@ -2067,7 +2067,7 @@
};
};
camss: camss@a00000 {
camss: camss@a34000 {
compatible = "qcom,msm8996-camss";
reg = <0x00a34000 0x1000>,
<0x00a00030 0x4>,

View File

@ -800,7 +800,7 @@
<GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
};
soc: soc {
soc: soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
@ -1228,6 +1228,57 @@
drive-strength = <2>;
bias-pull-up;
};
blsp1_spi_b_default: blsp1-spi-b-default-state {
pins = "gpio23", "gpio28";
function = "blsp1_spi_b";
drive-strength = <6>;
bias-disable;
};
blsp1_spi1_default: blsp1-spi1-default-state {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "blsp_spi1";
drive-strength = <6>;
bias-disable;
};
blsp1_spi2_default: blsp1-spi2-default-state {
pins = "gpio31", "gpio34", "gpio32", "gpio33";
function = "blsp_spi2";
drive-strength = <6>;
bias-disable;
};
blsp1_spi3_default: blsp1-spi3-default-state {
pins = "gpio45", "gpio46", "gpio47", "gpio48";
function = "blsp_spi2";
drive-strength = <6>;
bias-disable;
};
blsp1_spi4_default: blsp1-spi4-default-state {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "blsp_spi4";
drive-strength = <6>;
bias-disable;
};
blsp1_spi5_default: blsp1-spi5-default-state {
pins = "gpio85", "gpio86", "gpio87", "gpio88";
function = "blsp_spi5";
drive-strength = <6>;
bias-disable;
};
blsp1_spi6_default: blsp1-spi6-default-state {
pins = "gpio41", "gpio42", "gpio43", "gpio44";
function = "blsp_spi6";
drive-strength = <6>;
bias-disable;
};
/* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
blsp2_i2c1_default: blsp2-i2c1-default-state {
pins = "gpio55", "gpio56";
@ -1312,6 +1363,48 @@
drive-strength = <2>;
bias-pull-up;
};
blsp2_spi1_default: blsp2-spi1-default-state {
pins = "gpio53", "gpio54", "gpio55", "gpio56";
function = "blsp_spi7";
drive-strength = <6>;
bias-disable;
};
blsp2_spi2_default: blsp2-spi2-default-state {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
function = "blsp_spi8";
drive-strength = <6>;
bias-disable;
};
blsp2_spi3_default: blsp2-spi3-default-state {
pins = "gpio49", "gpio50", "gpio51", "gpio52";
function = "blsp_spi9";
drive-strength = <6>;
bias-disable;
};
blsp2_spi4_default: blsp2-spi4-default-state {
pins = "gpio65", "gpio66", "gpio67", "gpio68";
function = "blsp_spi10";
drive-strength = <6>;
bias-disable;
};
blsp2_spi5_default: blsp2-spi5-default-state {
pins = "gpio58", "gpio59", "gpio60", "gpio61";
function = "blsp_spi11";
drive-strength = <6>;
bias-disable;
};
blsp2_spi6_default: blsp2-spi6-default-state {
pins = "gpio81", "gpio82", "gpio83", "gpio84";
function = "blsp_spi12";
drive-strength = <6>;
bias-disable;
};
};
remoteproc_mss: remoteproc@4080000 {
@ -2249,6 +2342,114 @@
#size-cells = <0>;
};
blsp1_spi1: spi@c175000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c175000 0x600>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi1_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp1_spi2: spi@c176000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c176000 0x600>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi2_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp1_spi3: spi@c177000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c177000 0x600>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi3_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp1_spi4: spi@c178000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c178000 0x600>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi4_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp1_spi5: spi@c179000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c179000 0x600>;
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi5_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp1_spi6: spi@c17a000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c17a000 0x600>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_spi6_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_dma: dma-controller@c184000 {
compatible = "qcom,bam-v1.7.0";
reg = <0x0c184000 0x25000>;
@ -2392,6 +2593,114 @@
#size-cells = <0>;
};
blsp2_spi1: spi@c1b5000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1b5000 0x600>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi1_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_spi2: spi@c1b6000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1b6000 0x600>;
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi2_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_spi3: spi@c1b7000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1b7000 0x600>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi3_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_spi4: spi@c1b8000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1b8000 0x600>;
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi4_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_spi5: spi@c1b9000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1b9000 0x600>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi5_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
blsp2_spi6: spi@c1ba000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x0c1ba000 0x600>;
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
<&gcc GCC_BLSP2_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&blsp2_spi6_default>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmcc: clock-controller@c8c0000 {
compatible = "qcom,mmcc-msm8998";
#clock-cells = <1>;

View File

@ -3,6 +3,7 @@
* Copyright (C) 2022 Luca Weiss <luca.weiss@fairphone.com>
*/
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>

View File

@ -55,5 +55,11 @@
interrupt-controller;
#interrupt-cells = <2>;
};
pm8550_flash: led-controller@ee00 {
compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led";
reg = <0xee00>;
status = "disabled";
};
};
};

View File

@ -139,7 +139,7 @@
status = "disabled";
};
wcd_codec: audio-codec@f000 {
pm8916_codec: audio-codec@f000 {
compatible = "qcom,pm8916-wcd-analog-codec";
reg = <0xf000>;
reg-names = "pmic-codec-core";
@ -174,10 +174,8 @@
"cdc_ear_cnp_int",
"cdc_hphr_cnp_int",
"cdc_hphl_cnp_int";
vdd-cdc-io-supply = <&pm8916_l5>;
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
vdd-micbias-supply = <&pm8916_l13>;
#sound-dai-cells = <1>;
status = "disabled";
};
};
};

View File

@ -79,6 +79,16 @@
reg-names = "rtc", "alarm";
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
};
pm8953_gpios: gpio@c000 {
compatible = "qcom,pm8953-gpio", "qcom,spmi-gpio";
reg = <0xc000>;
gpio-controller;
gpio-ranges = <&pm8953_gpios 0 0 8>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
pmic@1 {

View File

@ -55,7 +55,7 @@
pm8998_resin: resin {
compatible = "qcom,pm8941-resin";
interrupts = <GIC_SPI 0x8 1 IRQ_TYPE_EDGE_BOTH>;
interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
debounce = <15625>;
bias-pull-up;
status = "disabled";

View File

@ -0,0 +1,165 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (C) 2023 Luca Weiss <luca@z3ntu.xyz>
*/
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
thermal-zones {
pmi632-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmi632_temp>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};
trip2 {
temperature = <125000>;
hysteresis = <0>;
type = "critical";
};
};
};
};
};
&spmi_bus {
pmic@2 {
compatible = "qcom,pmi632", "qcom,spmi-pmic";
reg = <0x2 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmi632_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
pmi632_adc: adc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
channel@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};
channel@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};
channel@6 {
reg = <ADC5_DIE_TEMP>;
qcom,pre-scaling = <1 1>;
label = "die_temp";
};
channel@7 {
reg = <ADC5_USB_IN_I>;
qcom,pre-scaling = <1 1>;
label = "usb_in_i_uv";
};
channel@8 {
reg = <ADC5_USB_IN_V_16>;
qcom,pre-scaling = <1 16>;
label = "usb_in_v_div_16";
};
channel@9 {
reg = <ADC5_CHG_TEMP>;
qcom,pre-scaling = <1 1>;
label = "chg_temp";
};
channel@4b {
reg = <ADC5_BAT_ID_100K_PU>;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,ratiometric;
label = "bat_id";
};
channel@83 {
reg = <ADC5_VPH_PWR>;
qcom,pre-scaling = <1 3>;
label = "vph_pwr";
};
channel@84 {
reg = <ADC5_VBAT_SNS>;
qcom,pre-scaling = <1 3>;
label = "vbat_sns";
};
};
pmi632_adc_tm: adc-tm@3500 {
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
pmi632_sdam_7: nvram@b600 {
compatible = "qcom,spmi-sdam";
reg = <0xb600>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0xb600 0x100>;
};
pmi632_gpios: gpio@c000 {
compatible = "qcom,pmi632-gpio", "qcom,spmi-gpio";
reg = <0xc000>;
gpio-controller;
gpio-ranges = <&pmi632_gpios 0 0 8>;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
pmic@3 {
compatible = "qcom,pmi632", "qcom,spmi-pmic";
reg = <0x3 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmi632_lpg: pwm {
compatible = "qcom,pmi632-lpg";
#address-cells = <1>;
#size-cells = <0>;
#pwm-cells = <2>;
status = "disabled";
};
};
};

View File

@ -60,6 +60,12 @@
status = "disabled";
};
pmi8998_flash: led-controller@d300 {
compatible = "qcom,pmi8998-flash-led", "qcom,spmi-flash-led";
reg = <0xd300>;
status = "disabled";
};
pmi8998_wled: leds@d800 {
compatible = "qcom,pmi8998-wled";
reg = <0xd800>, <0xd900>;

View File

@ -13,6 +13,16 @@
#define PMK8350_SID 0
#endif
/ {
reboot-mode {
compatible = "nvmem-reboot-mode";
nvmem-cells = <&reboot_reason>;
nvmem-cell-names = "reboot-mode";
mode-recovery = <0x01>;
mode-bootloader = <0x02>;
};
};
&spmi_bus {
pmk8350: pmic@PMK8350_SID {
compatible = "qcom,pmk8350", "qcom,spmi-pmic";
@ -66,6 +76,19 @@
status = "disabled";
};
pmk8350_sdam_2: nvram@7100 {
compatible = "qcom,spmi-sdam";
reg = <0x7100>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x7100 0x100>;
reboot_reason: reboot-reason@48 {
reg = <0x48 0x1>;
bits = <1 7>;
};
};
pmk8350_gpios: gpio@b000 {
compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio";
reg = <0xb000>;

View File

@ -8,6 +8,16 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
reboot-mode {
compatible = "nvmem-reboot-mode";
nvmem-cells = <&reboot_reason>;
nvmem-cell-names = "reboot-mode";
mode-recovery = <0x01>;
mode-bootloader = <0x02>;
};
};
&spmi_bus {
pmk8550: pmic@0 {
compatible = "qcom,pm8550", "qcom,spmi-pmic";
@ -42,6 +52,19 @@
status = "disabled";
};
pmk8550_sdam_2: nvram@7100 {
compatible = "qcom,spmi-sdam";
reg = <0x7100>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x7100 0x100>;
reboot_reason: reboot-reason@48 {
reg = <0x48 0x1>;
bits = <1 7>;
};
};
pmk8550_gpios: gpio@8800 {
compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio";
reg = <0xb800>;

View File

@ -27,8 +27,8 @@
phy-handle = <&phy1>;
phy-mode = "rgmii";
mdio {
#address-cells = <0x1>;
#size-cells = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
compatible = "snps,dwmac-mdio";
phy1: phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";

View File

@ -1103,7 +1103,7 @@
};
apps_smmu: iommu@15000000 {
compatible = "qcom,qdu1000-smmu-500", "arm,mmu-500";
compatible = "qcom,qdu1000-smmu-500", "qcom,smmu-500", "arm,mmu-500";
reg = <0x0 0x15000000 0x0 0x100000>;
#iommu-cells = <2>;
#global-interrupts = <2>;

View File

@ -5,6 +5,7 @@
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "sm4250.dtsi"
/ {
@ -19,21 +20,221 @@
stdout-path = "serial0:115200n8";
};
vph_pwr: vph-pwr-regulator {
clocks {
clk40M: can-clk {
compatible = "fixed-clock";
clock-frequency = <40000000>;
#clock-cells = <0>;
};
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con: endpoint {
remote-endpoint = <&lt9611_out>;
};
};
};
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";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
vin-supply = <&vdc_1v2>;
regulator-always-on;
regulator-boot-on;
};
lt9611_3v3: regulator-lt9611-3v3 {
compatible = "regulator-fixed";
regulator-name = "LT9611_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vdc_3v3>;
regulator-always-on;
regulator-boot-on;
};
/* Main barrel jack input */
vdc_12v: regulator-vdc-12v {
compatible = "regulator-fixed";
regulator-name = "DC_12V";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
regulator-boot-on;
};
/* 1.2V supply stepped down from the barrel jack input */
vdc_1v2: regulator-vdc-1v2 {
compatible = "regulator-fixed";
regulator-name = "VDC_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
vin-supply = <&vdc_12v>;
regulator-always-on;
regulator-boot-on;
};
/* 3.3V supply stepped down from the barrel jack input */
vdc_3v3: regulator-vdc-3v3 {
compatible = "regulator-fixed";
regulator-name = "VDC_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vdc_12v>;
regulator-always-on;
regulator-boot-on;
};
/* 5V supply stepped down from the barrel jack input */
vdc_5v: regulator-vdc-5v {
compatible = "regulator-fixed";
regulator-name = "VDC_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
};
/* "Battery" voltage for the SoM, stepped down from the barrel jack input */
vdc_vbat_som: regulator-vdc-vbat {
compatible = "regulator-fixed";
regulator-name = "VBAT_SOM";
regulator-min-microvolt = <4200000>;
regulator-max-microvolt = <4200000>;
regulator-always-on;
regulator-boot-on;
};
/* PMI632 charger out, supplied by VBAT */
vph_pwr: regulator-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
vin-supply = <&vdc_vbat_som>;
regulator-always-on;
regulator-boot-on;
};
};
&gpi_dma0 {
status = "okay";
};
&i2c2 {
clock-frequency = <400000>;
status = "okay";
lt9611_codec: hdmi-bridge@2b {
compatible = "lontium,lt9611uxc";
reg = <0x2b>;
interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
vdd-supply = <&vreg_hdmi_out_1p2>;
vcc-supply = <&lt9611_3v3>;
pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
pinctrl-names = "default";
#sound-dai-cells = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lt9611_a: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
port@2 {
reg = <2>;
lt9611_out: endpoint {
remote-endpoint = <&hdmi_con>;
};
};
};
};
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
vdda-supply = <&vreg_l18a_1p232>;
status = "okay";
};
&mdss_dsi0_out {
remote-endpoint = <&lt9611_a>;
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&remoteproc_adsp {
firmware-name = "qcom/qrb4210/adsp.mbn";
status = "okay";
};
&remoteproc_cdsp {
firmware-name = "qcom/qrb4210/cdsp.mbn";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm6125-regulators";
@ -86,6 +287,7 @@
vreg_l5a_2p96: l5 {
regulator-min-microvolt = <1648000>;
regulator-max-microvolt = <3056000>;
regulator-allow-set-load;
};
vreg_l6a_0p6: l6 {
@ -116,6 +318,7 @@
vreg_l11a_1p8: l11 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1952000>;
regulator-allow-set-load;
};
vreg_l12a_1p8: l12 {
@ -190,6 +393,10 @@
};
&sdhc_1 {
pinctrl-0 = <&sdc1_state_on>;
pinctrl-1 = <&sdc1_state_off>;
pinctrl-names = "default", "sleep";
vmmc-supply = <&vreg_l24a_2p96>;
vqmmc-supply = <&vreg_l11a_1p8>;
no-sdio;
@ -199,7 +406,12 @@
};
&sdhc_2 {
cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>; /* card detect gpio */
cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; /* card detect gpio */
pinctrl-0 = <&sdc2_state_on &sdc2_card_det_n>;
pinctrl-1 = <&sdc2_state_off &sdc2_card_det_n>;
pinctrl-names = "default", "sleep";
vmmc-supply = <&vreg_l22a_2p96>;
vqmmc-supply = <&vreg_l5a_2p96>;
no-sdio;
@ -207,21 +419,78 @@
status = "okay";
};
&spi5 {
status = "okay";
can@0 {
compatible = "microchip,mcp2518fd";
reg = <0>;
interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clk40M>;
spi-max-frequency = <10000000>;
vdd-supply = <&vdc_5v>;
xceiver-supply = <&vdc_5v>;
};
};
&sleep_clk {
clock-frequency = <32000>;
};
&tlmm {
gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
<49 1>, <52 1>, <54 1>,
gpio-reserved-ranges = <43 2>, <49 1>, <54 1>,
<56 3>, <61 2>, <64 1>,
<68 1>, <72 8>, <96 1>;
lt9611_rst_pin: lt9611-rst-state {
pins = "gpio41";
function = "gpio";
input-disable;
output-high;
};
lt9611_irq_pin: lt9611-irq-state {
pins = "gpio46";
function = "gpio";
bias-disable;
};
sdc2_card_det_n: sd-card-det-n-state {
pins = "gpio88";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
&uart4 {
status = "okay";
};
&usb {
status = "okay";
};
&usb_dwc3 {
maximum-speed = "super-speed";
dr_mode = "peripheral";
};
&usb_hsphy {
vdd-supply = <&vreg_l4a_0p9>;
vdda-pll-supply = <&vreg_l12a_1p8>;
vdda-phy-dpdm-supply = <&vreg_l15a_3p128>;
status = "okay";
};
&usb_qmpphy {
vdda-phy-supply = <&vreg_l4a_0p9>;
vdda-pll-supply = <&vreg_l12a_1p8>;
status = "okay";
};
&xo_board {
clock-frequency = <19200000>;
};

View File

@ -47,29 +47,6 @@
vin-supply = <&vreg_3p3>;
};
mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <1>;
snps,rx-sched-sp;
queue0 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,route-up;
snps,priority = <0x1>;
};
};
mtl_tx_setup: tx-queues-config {
snps,tx-queues-to-use = <1>;
snps,tx-sched-wrr;
queue0 {
snps,weight = <0x10>;
snps,dcb-algorithm;
snps,priority = <0x0>;
};
};
};
&apps_rsc {
@ -352,19 +329,40 @@
max-speed = <1000>;
mdio {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;
/* Micrel KSZ9031RNZ PHY */
rgmii_phy: phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x7>;
interrupt-parent = <&tlmm>;
interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; /* phy intr */
interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>;
device_type = "ethernet-phy";
compatible = "ethernet-phy-ieee802.3-c22";
};
};
mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <1>;
snps,rx-sched-sp;
queue0 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,route-up;
snps,priority = <0x1>;
};
};
mtl_tx_setup: tx-queues-config {
snps,tx-queues-to-use = <1>;
snps,tx-sched-wrr;
queue0 {
snps,weight = <0x10>;
snps,dcb-algorithm;
snps,priority = <0x0>;
};
};
};

View File

@ -151,6 +151,184 @@
};
};
&ethernet0 {
snps,mtl-rx-config = <&ethernet0_mtl_rx_setup>;
snps,mtl-tx-config = <&ethernet0_mtl_tx_setup>;
max-speed = <1000>;
phy-handle = <&rgmii_phy>;
phy-mode = "rgmii-txid";
pinctrl-names = "default";
pinctrl-0 = <&ethernet0_default>;
status = "okay";
mdio {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;
/* Marvell 88EA1512 */
rgmii_phy: phy@8 {
reg = <0x8>;
interrupts-extended = <&tlmm 127 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pmm8540c_gpios 1 GPIO_ACTIVE_LOW>;
reset-assert-us = <11000>;
reset-deassert-us = <70000>;
device_type = "ethernet-phy";
/* Set to RGMII_SGMII mode and soft reset. Turn off auto-negotiation
* from userspace to talk to the switch on the SGMII side of things
*/
marvell,reg-init =
/* Set MODE[2:0] to RGMII_SGMII */
<0x12 0x14 0xfff8 0x4>,
/* Soft reset required after changing MODE[2:0] */
<0x12 0x14 0x7fff 0x8000>;
};
};
ethernet0_mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <1>;
snps,rx-sched-sp;
queue0 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,route-up;
snps,priority = <0x1>;
};
queue1 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x1>;
snps,route-ptp;
};
queue2 {
snps,avb-algorithm;
snps,map-to-dma-channel = <0x2>;
snps,route-avcp;
};
queue3 {
snps,avb-algorithm;
snps,map-to-dma-channel = <0x3>;
snps,priority = <0xc>;
};
};
ethernet0_mtl_tx_setup: tx-queues-config {
snps,tx-queues-to-use = <1>;
snps,tx-sched-sp;
queue0 {
snps,dcb-algorithm;
};
queue1 {
snps,dcb-algorithm;
};
queue2 {
snps,avb-algorithm;
snps,send_slope = <0x1000>;
snps,idle_slope = <0x1000>;
snps,high_credit = <0x3e800>;
snps,low_credit = <0xffc18000>;
};
queue3 {
snps,avb-algorithm;
snps,send_slope = <0x1000>;
snps,idle_slope = <0x1000>;
snps,high_credit = <0x3e800>;
snps,low_credit = <0xffc18000>;
};
};
};
&ethernet1 {
snps,mtl-rx-config = <&ethernet1_mtl_rx_setup>;
snps,mtl-tx-config = <&ethernet1_mtl_tx_setup>;
max-speed = <1000>;
phy-mode = "rgmii-txid";
pinctrl-names = "default";
pinctrl-0 = <&ethernet1_default>;
status = "okay";
fixed-link {
speed = <1000>;
full-duplex;
};
ethernet1_mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <1>;
snps,rx-sched-sp;
queue0 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,route-up;
snps,priority = <0x1>;
};
queue1 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x1>;
snps,route-ptp;
};
queue2 {
snps,avb-algorithm;
snps,map-to-dma-channel = <0x2>;
snps,route-avcp;
};
queue3 {
snps,avb-algorithm;
snps,map-to-dma-channel = <0x3>;
snps,priority = <0xc>;
};
};
ethernet1_mtl_tx_setup: tx-queues-config {
snps,tx-queues-to-use = <1>;
snps,tx-sched-sp;
queue0 {
snps,dcb-algorithm;
};
queue1 {
snps,dcb-algorithm;
};
queue2 {
snps,avb-algorithm;
snps,send_slope = <0x1000>;
snps,idle_slope = <0x1000>;
snps,high_credit = <0x3e800>;
snps,low_credit = <0xffc18000>;
};
queue3 {
snps,avb-algorithm;
snps,send_slope = <0x1000>;
snps,idle_slope = <0x1000>;
snps,high_credit = <0x3e800>;
snps,low_credit = <0xffc18000>;
};
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_default>;
@ -316,6 +494,66 @@
/* PINCTRL */
&tlmm {
ethernet0_default: ethernet0-default-state {
mdc-pins {
pins = "gpio175";
function = "rgmii_0";
drive-strength = <16>;
bias-pull-up;
};
mdio-pins {
pins = "gpio176";
function = "rgmii_0";
drive-strength = <16>;
bias-pull-up;
};
rgmii-tx-pins {
pins = "gpio183", "gpio184", "gpio185", "gpio186", "gpio187", "gpio188";
function = "rgmii_0";
drive-strength = <16>;
bias-pull-up;
};
rgmii-rx-pins {
pins = "gpio177", "gpio178", "gpio179", "gpio180", "gpio181", "gpio182";
function = "rgmii_0";
drive-strength = <16>;
bias-disable;
};
};
ethernet1_default: ethernet1-default-state {
mdc-pins {
pins = "gpio97";
function = "rgmii_1";
drive-strength = <16>;
bias-pull-up;
};
mdio-pins {
pins = "gpio98";
function = "rgmii_1";
drive-strength = <16>;
bias-pull-up;
};
rgmii-tx-pins {
pins = "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110";
function = "rgmii_1";
drive-strength = <16>;
bias-pull-up;
};
rgmii-rx-pins {
pins = "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104";
function = "rgmii_1";
drive-strength = <16>;
bias-disable;
};
};
i2c0_default: i2c0-default-state {
/* To USB7002T-I/KDXVA0 USB hub (SIP1 only) */
pins = "gpio135", "gpio136";

View File

@ -88,6 +88,14 @@
};
};
};
reboot-mode {
compatible = "nvmem-reboot-mode";
nvmem-cells = <&reboot_reason>;
nvmem-cell-names = "reboot-mode";
mode-recovery = <0x01>;
mode-bootloader = <0x02>;
};
};
&spmi_bus {
@ -108,8 +116,6 @@
compatible = "qcom,pmk8350-pon";
reg = <0x1200>, <0x800>;
reg-names = "hlos", "pbs";
mode-recovery = <0x1>;
mode-bootloader = <0x2>;
pmm8654au_0_pon_pwrkey: pwrkey {
compatible = "qcom,pmk8350-pwrkey";
@ -135,6 +141,19 @@
interrupt-controller;
#interrupt-cells = <2>;
};
pmm8654au_0_sdam_0: nvram@7100 {
compatible = "qcom,spmi-sdam";
reg = <0x7100>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x7100 0x100>;
reboot_reason: reboot-reason@48 {
reg = <0x48 0x1>;
bits = <1 7>;
};
};
};
pmm8654au_1: pmic@2 {

View File

@ -5,6 +5,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sa8775p.dtsi"
@ -18,8 +19,10 @@
serial0 = &uart10;
serial1 = &uart12;
serial2 = &uart17;
i2c11 = &i2c11;
i2c18 = &i2c18;
spi16 = &spi16;
ufshc1 = &ufs_mem_hc;
};
chosen {
@ -258,6 +261,13 @@
};
};
&i2c11 {
clock-frequency = <400000>;
pinctrl-0 = <&qup_i2c11_default>;
pinctrl-names = "default";
status = "okay";
};
&i2c18 {
clock-frequency = <400000>;
pinctrl-0 = <&qup_i2c18_default>;
@ -291,6 +301,13 @@
"BT_EN",
"USB2_PWR_EN",
"USB2_FAULT";
usb2_en_state: usb2-en-state {
pins = "gpio9";
function = "normal";
output-high;
power-source = <0>;
};
};
&pmm8654au_2_gpios {
@ -306,6 +323,20 @@
"USB1_PWR_ENABLE",
"USB1_FAULT",
"VMON_SPX8";
usb0_en_state: usb0-en-state {
pins = "gpio3";
function = "normal";
output-high;
power-source = <0>;
};
usb1_en_state: usb1-en-state {
pins = "gpio10";
function = "normal";
output-high;
power-source = <0>;
};
};
&pmm8654au_3_gpios {
@ -347,6 +378,13 @@
bias-disable;
};
qup_i2c11_default: qup-i2c11-state {
pins = "gpio48", "gpio49";
function = "qup1_se4";
drive-strength = <2>;
bias-pull-up;
};
qup_i2c18_default: qup-i2c18-state {
pins = "gpio95", "gpio96";
function = "qup2_se4";
@ -426,6 +464,94 @@
status = "okay";
};
&ufs_mem_hc {
reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l8a>;
vcc-max-microamp = <1100000>;
vccq-supply = <&vreg_l4c>;
vccq-max-microamp = <1200000>;
status = "okay";
};
&ufs_mem_phy {
vdda-phy-supply = <&vreg_l4a>;
vdda-pll-supply = <&vreg_l1c>;
status = "okay";
};
&usb_0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_en_state>;
status = "okay";
};
&usb_0_dwc3 {
dr_mode = "peripheral";
};
&usb_0_hsphy {
vdda-pll-supply = <&vreg_l7a>;
vdda18-supply = <&vreg_l6c>;
vdda33-supply = <&vreg_l9a>;
status = "okay";
};
&usb_0_qmpphy {
vdda-phy-supply = <&vreg_l1c>;
vdda-pll-supply = <&vreg_l7a>;
status = "okay";
};
&usb_1 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_en_state>;
status = "okay";
};
&usb_1_dwc3 {
dr_mode = "host";
};
&usb_1_hsphy {
vdda-pll-supply = <&vreg_l7a>;
vdda18-supply = <&vreg_l6c>;
vdda33-supply = <&vreg_l9a>;
status = "okay";
};
&usb_1_qmpphy {
vdda-phy-supply = <&vreg_l1c>;
vdda-pll-supply = <&vreg_l7a>;
status = "okay";
};
&usb_2 {
pinctrl-names = "default";
pinctrl-0 = <&usb2_en_state>;
status = "okay";
};
&usb_2_dwc3 {
dr_mode = "host";
};
&usb_2_hsphy {
vdda-pll-supply = <&vreg_l7a>;
vdda18-supply = <&vreg_l6c>;
vdda33-supply = <&vreg_l9a>;
status = "okay";
};
&xo_board_clk {
clock-frequency = <38400000>;
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,845 @@
// SPDX-License-Identifier: BSD-3-Clause
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7180.dtsi"
#include "pm6150.dtsi"
#include "pm6150l.dtsi"
/delete-node/ &tz_mem;
/delete-node/ &ipa_fw_mem;
/ {
model = "Acer Aspire 1";
compatible = "acer,aspire1", "qcom,sc7180";
chassis-type = "laptop";
aliases {
bluetooth0 = &bluetooth;
hsuart0 = &uart3;
serial0 = &uart8;
wifi0 = &wifi;
};
chosen {
stdout-path = "serial0:115200n8";
};
reserved-memory {
zap_mem: zap-shader@80840000 {
reg = <0x0 0x80840000 0 0x2000>;
no-map;
};
venus_mem: venus@85b00000 {
reg = <0x0 0x85b00000 0 0x500000>;
no-map;
};
mpss_mem: mpss@86000000 {
reg = <0x0 0x86000000 0x0 0x2000000>;
no-map;
};
adsp_mem: adsp@8e400000 {
reg = <0x0 0x8e400000 0x0 0x2800000>;
no-map;
};
wlan_mem: wlan@93900000 {
reg = <0x0 0x93900000 0x0 0x200000>;
no-map;
};
};
max98357a: audio-codec {
compatible = "maxim,max98357a";
sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&amp_sd_mode_default>;
pinctrl-names = "default";
#sound-dai-cells = <0>;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&sn65dsi86_bridge 1000000>;
enable-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&soc_bkoff_default>;
pinctrl-names = "default";
};
reg_brij_1p2: bridge-1p2-regulator {
compatible = "regulator-fixed";
regulator-name = "brij_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_edp_1p2_en_default>;
pinctrl-names = "default";
};
reg_brij_1p8: bridge-regulator {
compatible = "regulator-fixed";
regulator-name = "brij_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vreg_l8c_1p8>;
gpio = <&tlmm 20 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_edp_1p8_en_default>;
pinctrl-names = "default";
};
reg_codec_3p3: codec-regulator {
compatible = "regulator-fixed";
regulator-name = "codec_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_audio_en_default>;
pinctrl-names = "default";
};
reg_lcm_3p3: panel-regulator {
compatible = "regulator-fixed";
regulator-name = "lcm_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_lcm_en_default>;
pinctrl-names = "default";
};
reg_tp_3p3: touchpad-regulator {
compatible = "regulator-fixed";
regulator-name = "tp_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&reg_tp_en_default>;
pinctrl-names = "default";
};
};
&dsi0 {
vdda-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&dsi0_out {
remote-endpoint = <&sn65dsi86_in>;
data-lanes = <0 1 2 3>;
};
&dsi_phy {
vdds-supply = <&vreg_l4a_0p8>;
status = "okay";
};
&i2c2 {
clock-frequency = <400000>;
status = "okay";
/* embedded-controller@76 */
};
&i2c4 {
clock-frequency = <400000>;
status = "okay";
/*
* NOTE: DSDT defines two possible touchpads, other one is
*
* reg = <0x15>;
* hid-descr-addr = <0x1>;
*/
touchpad@2c {
compatible = "hid-over-i2c";
reg = <0x2c>;
hid-descr-addr = <0x20>;
vdd-supply = <&reg_tp_3p3>;
interrupts-extended = <&tlmm 94 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&hid_touchpad_default>;
pinctrl-names = "default";
wakeup-source;
};
keyboard@3a {
compatible = "hid-over-i2c";
reg = <0x3a>;
hid-descr-addr = <0x1>;
interrupts-extended = <&tlmm 33 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&hid_keyboard_default>;
pinctrl-names = "default";
wakeup-source;
};
};
&i2c9 {
clock-frequency = <400000>;
status = "okay";
alc5682: codec@1a {
compatible = "realtek,rt5682i";
reg = <0x1a>;
#sound-dai-cells = <1>;
interrupt-parent = <&tlmm>;
interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
pinctrl-0 = <&codec_irq_default>;
pinctrl-names = "default";
AVDD-supply = <&vreg_l15a_1p8>;
MICVDD-supply = <&reg_codec_3p3>;
VBAT-supply = <&reg_codec_3p3>;
realtek,dmic1-data-pin = <1>;
realtek,dmic1-clk-pin = <1>;
realtek,jd-src = <1>;
};
};
&i2c10 {
clock-frequency = <400000>;
status = "okay";
sn65dsi86_bridge: bridge@2c {
compatible = "ti,sn65dsi86";
reg = <0x2c>;
gpio-controller;
#gpio-cells = <2>;
#pwm-cells = <1>;
interrupt-parent = <&tlmm>;
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
enable-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
suspend-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&bridge_en_default>,
<&edp_bridge_irq_default>,
<&bridge_suspend_default>;
pinctrl-names = "default";
vpll-supply = <&reg_brij_1p8>;
vccio-supply = <&reg_brij_1p8>;
vcca-supply = <&reg_brij_1p2>;
vcc-supply = <&reg_brij_1p2>;
clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
clock-names = "refclk";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
sn65dsi86_in: endpoint {
remote-endpoint = <&dsi0_out>;
};
};
port@1 {
reg = <1>;
sn65dsi86_out: endpoint {
data-lanes = <0 1>;
remote-endpoint = <&panel_in_edp>;
};
};
};
aux-bus {
panel: panel {
compatible = "edp-panel";
power-supply = <&reg_lcm_3p3>;
backlight = <&backlight>;
hpd-absent-delay-ms = <200>;
port {
panel_in_edp: endpoint {
remote-endpoint = <&sn65dsi86_out>;
};
};
};
};
};
};
&gpu {
status = "okay";
zap-shader {
memory-region = <&zap_mem>;
firmware-name = "qcom/sc7180/acer/aspire1/qcdxkmsuc7180.mbn";
};
};
&mdss {
status = "okay";
};
&pm6150_adc {
thermistor@4e {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
charger-thermistor@4f {
reg = <ADC5_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pm6150_adc_tm {
status = "okay";
charger-thermistor@0 {
reg = <0>;
io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time-us = <200>;
};
thermistor@1 {
reg = <1>;
io-channels = <&pm6150_adc ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time-us = <200>;
};
};
&pm6150_pon {
status = "disabled";
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&remoteproc_mpss {
firmware-name = "qcom/sc7180/acer/aspire1/qcmpss7180_nm.mbn";
status = "okay";
};
&sdhc_1 {
pinctrl-0 = <&sdc1_default>;
pinctrl-1 = <&sdc1_sleep>;
pinctrl-names = "default", "sleep";
vmmc-supply = <&vreg_l19a_2p9>;
vqmmc-supply = <&vreg_l12a_1p8>;
status = "okay";
};
&uart3 {
/delete-property/interrupts;
interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
pinctrl-1 = <&qup_uart3_sleep>;
pinctrl-names = "default", "sleep";
status = "okay";
bluetooth: bluetooth {
compatible = "qcom,wcn3991-bt";
vddio-supply = <&vreg_l10a_1p8>;
vddxo-supply = <&vreg_l1c_1p8>;
vddrf-supply = <&vreg_l2c_1p3>;
vddch0-supply = <&vreg_l10c_3p3>;
max-speed = <3200000>;
};
};
&uart8 {
status = "okay";
};
&usb_1 {
status = "okay";
};
&usb_1_dwc3 {
dr_mode = "host";
#address-cells = <1>;
#size-cells = <0>;
usb_hub_2_x: hub@1 {
compatible = "usbbda,5411";
reg = <1>;
peer-hub = <&usb_hub_3_x>;
};
usb_hub_3_x: hub@2 {
compatible = "usbbda,411";
reg = <2>;
peer-hub = <&usb_hub_2_x>;
};
};
&usb_1_hsphy {
vdd-supply = <&vreg_l4a_0p8>;
vdda-pll-supply = <&vreg_l11a_1p8>;
vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
qcom,imp-res-offset-value = <8>;
qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
qcom,bias-ctrl-value = <0x22>;
qcom,charge-ctrl-value = <3>;
qcom,hsdisc-trim-value = <0>;
status = "okay";
};
&usb_1_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l4a_0p8>;
status = "okay";
};
&venus {
firmware-name = "qcom/sc7180/acer/aspire1/qcvss7180.mbn";
};
&wifi {
vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
status = "okay";
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pm6150-rpmh-regulators";
qcom,pmic-id = "a";
vreg_s1a_1p1: smps1 {
regulator-min-microvolt = <1128000>;
regulator-max-microvolt = <1128000>;
};
vreg_l4a_0p8: ldo4 {
regulator-min-microvolt = <824000>;
regulator-max-microvolt = <928000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9a_0p6: ldo9 {
regulator-min-microvolt = <488000>;
regulator-max-microvolt = <800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10a_1p8: ldo10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-always-on;
regulator-boot-on;
};
vreg_l11a_1p8: ldo11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12a_1p8: ldo12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13a_1p8: ldo13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l14a_1p8: ldo14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l15a_1p8: ldo15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l16a_2p7: ldo16 {
regulator-min-microvolt = <2496000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l17a_3p0: ldo17 {
regulator-min-microvolt = <2920000>;
regulator-max-microvolt = <3232000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l18a_2p8: ldo18 {
regulator-min-microvolt = <2496000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l19a_2p9: ldo19 {
regulator-min-microvolt = <2960000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pm6150l-rpmh-regulators";
qcom,pmic-id = "c";
vreg_s8c_1p3: smps8 {
regulator-min-microvolt = <1120000>;
regulator-max-microvolt = <1408000>;
};
vreg_l1c_1p8: ldo1 {
regulator-min-microvolt = <1616000>;
regulator-max-microvolt = <1984000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2c_1p3: ldo2 {
regulator-min-microvolt = <1168000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c_1p2: ldo3 {
regulator-min-microvolt = <1144000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c_1p8: ldo4 {
regulator-min-microvolt = <1648000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
};
vreg_l5c_1p8: ldo5 {
regulator-min-microvolt = <1648000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
};
vreg_l6c_2p9: ldo6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7c_3p0: ldo7 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
};
vreg_l8c_1p8: ldo8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9c_2p9: ldo9 {
regulator-min-microvolt = <2952000>;
regulator-max-microvolt = <2952000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c_3p3: ldo10 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3400000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c_3p3: ldo11 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3400000>;
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>;
};
};
};
&qup_i2c2_default {
drive-strength = <2>;
/* Has external pullup */
bias-disable;
};
&qup_i2c4_default {
drive-strength = <2>;
/* Has external pullup */
bias-disable;
};
&qup_i2c9_default {
drive-strength = <2>;
/* Has external pullup */
bias-disable;
};
&qup_i2c10_default {
drive-strength = <2>;
/* Has external pullup */
bias-disable;
};
&tlmm {
/*
* The TZ seem to protect those because some boards can have
* fingerprint sensor connected to this range. Not connected
* on this board
*/
gpio-reserved-ranges = <58 5>;
amp_sd_mode_default: amp-sd-mode-deault-state {
pins = "gpio23";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
bridge_en_default: bridge-en-default-state {
pins = "gpio51";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
bridge_suspend_default: bridge-suspend-default-state {
pins = "gpio22";
function = "gpio";
drive-strength = <16>;
bias-pull-up;
};
codec_irq_default: codec-irq-deault-state {
pins = "gpio28";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
edp_bridge_irq_default: edp-bridge-irq-default-state {
pins = "gpio11";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
hid_keyboard_default: hid-keyboard-default-state {
pins = "gpio33";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
hid_touchpad_default: hid-touchpad-default-state {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
qup_uart3_sleep: qup-uart3-sleep-state {
cts-pins {
/*
* Configure a pull-down on CTS to match the pull of
* the Bluetooth module.
*/
pins = "gpio38";
function = "gpio";
bias-pull-down;
};
rts-pins {
/*
* 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).
*/
pins = "gpio39";
function = "gpio";
bias-pull-down;
};
tx-pins {
/*
* Configure pull-up on TX when it isn't actively driven
* to prevent BT SoC from receiving garbage during sleep.
*/
pins = "gpio40";
function = "gpio";
bias-pull-up;
};
rx-pins {
/*
* 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.
*/
pins = "gpio41";
function = "gpio";
bias-pull-up;
};
};
reg_edp_1p2_en_default: reg-edp-1p2-en-deault-state {
pins = "gpio19";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
reg_edp_1p8_en_default: reg-edp-1p8-en-deault-state {
pins = "gpio20";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
reg_lcm_en_default: reg-lcm-en-deault-state {
pins = "gpio26";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
reg_audio_en_default: reg-audio-en-deault-state {
pins = "gpio83";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
reg_tp_en_default: reg-tp-en-deault-state {
pins = "gpio25";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
soc_bkoff_default: soc-bkoff-deault-state {
pins = "gpio10";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
sdc1_default: sdc1-default-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <16>;
bias-disable;
};
cmd-pins {
pins = "sdc1_cmd";
drive-strength = <16>;
bias-pull-up;
};
data-pins {
pins = "sdc1_data";
drive-strength = <16>;
bias-pull-up;
};
rclk-pins {
pins = "sdc1_rclk";
bias-pull-down;
};
};
sdc1_sleep: sdc1-sleep-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <2>;
bias-disable;
};
cmd-pins {
pins = "sdc1_cmd";
drive-strength = <2>;
bias-pull-up;
};
data-pins {
pins = "sdc1_data";
drive-strength = <2>;
bias-pull-up;
};
rclk-pins {
pins = "sdc1_rclk";
bias-pull-down;
};
};
};

View File

@ -334,10 +334,6 @@
vdds-supply = <&vreg_l4a_0p8>;
};
&mdp {
status = "okay";
};
&mdss {
status = "okay";
};

View File

@ -788,6 +788,10 @@ hp_i2c: &i2c9 {
};
};
&lpasscc {
status = "okay";
};
&lpass_cpu {
status = "okay";
@ -813,7 +817,7 @@ hp_i2c: &i2c9 {
};
};
&mdp {
&lpass_hm {
status = "okay";
};

View File

@ -2691,6 +2691,7 @@
qspi: spi@88dc000 {
compatible = "qcom,sc7180-qspi", "qcom,qspi-v1";
reg = <0 0x088dc000 0 0x600>;
iommus = <&apps_smmu 0x20 0x0>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
@ -2988,8 +2989,6 @@
interrupt-parent = <&mdss>;
interrupts = <0>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
@ -3627,6 +3626,8 @@
power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>;
#clock-cells = <1>;
#power-domain-cells = <1>;
status = "reserved"; /* Controlled by ADSP */
};
lpass_cpu: lpass@62d87000 {
@ -3675,6 +3676,8 @@
#clock-cells = <1>;
#power-domain-cells = <1>;
status = "reserved"; /* Controlled by ADSP */
};
};

View File

@ -640,6 +640,18 @@
};
};
eud_typec: connector {
compatible = "usb-c-connector";
ports {
port@0 {
con_eud: endpoint {
remote-endpoint = <&eud_con>;
};
};
};
};
memory@80000000 {
device_type = "memory";
/* We expect the bootloader to fill in the size */
@ -3421,6 +3433,7 @@
phy-names = "usb2-phy";
maximum-speed = "high-speed";
usb-role-switch;
port {
usb2_role_switch: endpoint {
remote-endpoint = <&eud_ep>;
@ -3432,6 +3445,7 @@
qspi: spi@88dc000 {
compatible = "qcom,sc7280-qspi", "qcom,qspi-v1";
reg = <0 0x088dc000 0 0x1000>;
iommus = <&apps_smmu 0x20 0x0>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
@ -3596,10 +3610,11 @@
};
eud: eud@88e0000 {
compatible = "qcom,sc7280-eud","qcom,eud";
reg = <0 0x088e0000 0 0x2000>,
<0 0x088e2000 0 0x1000>;
compatible = "qcom,sc7280-eud", "qcom,eud";
reg = <0 0x88e0000 0 0x2000>,
<0 0x88e2000 0 0x1000>;
interrupts-extended = <&pdc 11 IRQ_TYPE_LEVEL_HIGH>;
ports {
#address-cells = <1>;
#size-cells = <0>;
@ -3610,6 +3625,7 @@
remote-endpoint = <&usb2_role_switch>;
};
};
port@1 {
reg = <1>;
eud_con: endpoint {
@ -3619,21 +3635,6 @@
};
};
eud_typec: connector {
compatible = "usb-c-connector";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
con_eud: endpoint {
remote-endpoint = <&eud_con>;
};
};
};
};
nsp_noc: interconnect@a0c0000 {
reg = <0 0x0a0c0000 0 0x10000>;
compatible = "qcom,sc7280-nsp-noc";

View File

@ -0,0 +1,583 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2020-2023, Linaro Limited
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc8180x.dtsi"
#include "sc8180x-pmics.dtsi"
/ {
model = "Lenovo Flex 5G";
compatible = "lenovo,flex-5g", "qcom,sc8180x";
aliases {
serial0 = &uart13;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pmc8180c_lpg 4 1000000>;
enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&bl_pwm_default>;
pinctrl-names = "default";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&hall_int_active_state>;
pinctrl-names = "default";
lid {
gpios = <&tlmm 121 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
wakeup-source;
wakeup-event-action = <EV_ACT_DEASSERTED>;
};
};
reserved-memory {
rmtfs_mem: rmtfs-region@85500000 {
compatible = "qcom,rmtfs-mem";
reg = <0x0 0x85500000 0x0 0x200000>;
no-map;
qcom,client-id = <1>;
qcom,vmid = <15>;
};
wlan_mem: wlan-region@8bc00000 {
reg = <0x0 0x8bc00000 0x0 0x180000>;
no-map;
};
mpss_mem: mpss-region@8d800000 {
reg = <0x0 0x8d800000 0x0 0x3000000>;
no-map;
};
adsp_mem: adsp-region@90800000 {
reg = <0x0 0x90800000 0x0 0x1c00000>;
no-map;
};
gpu_mem: gpu-region@98715000 {
reg = <0x0 0x98715000 0x0 0x2000>;
no-map;
};
cdsp_mem: cdsp-region@98900000 {
reg = <0x0 0x98900000 0x0 0x1400000>;
no-map;
};
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};
vreg_s4a_1p8: pm8150-s4-regulator {
compatible = "regulator-fixed";
regulator-name = "vreg_s4a_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vph_pwr>;
};
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pmc8180-rpmh-regulators";
qcom,pmic-id = "a";
vdd-s5-supply = <&vph_pwr>;
vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
vreg_s5a_2p0: smps5 {
regulator-min-microvolt = <2040000>;
regulator-max-microvolt = <2100000>;
};
vreg_l7a_1p8: ldo7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9a_1p3: ldo9 {
regulator-min-microvolt = <1296000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12a_1p8: ldo12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pmc8180c-rpmh-regulators";
qcom,pmic-id = "c";
vdd-s6-supply = <&vph_pwr>;
vdd-l2-l3-supply = <&vreg_s6c_1p35>;
vdd-bob-supply = <&vph_pwr>;
vreg_s6c_1p35: smps6 {
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1372000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c_1p2: ldo3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c_3p3: ldo10 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c_3p3: ldo11 {
regulator-min-microvolt = <3296000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_bob: bob {
regulator-min-microvolt = <3296000>;
regulator-max-microvolt = <3350000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-2 {
compatible = "qcom,pmc8180-rpmh-regulators";
qcom,pmic-id = "e";
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-l2-l10-supply = <&vreg_bob>;
vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>;
vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>;
vdd-l13-l16-l17-supply = <&vreg_bob>;
vreg_s4e_0p98: smps4 {
regulator-min-microvolt = <992000>;
regulator-max-microvolt = <992000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s5e_2p05: smps5 {
regulator-min-microvolt = <2040000>;
regulator-max-microvolt = <2040000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l1e_0p75: ldo1 {
regulator-min-microvolt = <752000>;
regulator-max-microvolt = <752000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l5e_0p88: ldo5 {
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7e_1p8: ldo7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10e_2p9: ldo10 {
regulator-min-microvolt = <2904000>;
regulator-max-microvolt = <2904000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l16e_3p0: ldo16 {
regulator-min-microvolt = <3072000>;
regulator-max-microvolt = <3072000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
};
&gpu {
status = "okay";
zap-shader {
memory-region = <&gpu_mem>;
firmware-name = "qcom/sc8180x/qcdxkmsuc8180.mbn";
};
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>;
pinctrl-names = "default";
status = "okay";
hid@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
hid-descr-addr = <0x1>;
interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c7 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c7_active>, <&i2c7_hid_active>;
pinctrl-names = "default";
status = "okay";
hid@5 {
compatible = "hid-over-i2c";
reg = <0x5>;
hid-descr-addr = <0x20>;
interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;
};
hid@2c {
compatible = "hid-over-i2c";
reg = <0x2c>;
hid-descr-addr = <0x20>;
interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
};
};
&mdss {
status = "okay";
};
&mdss_edp {
data-lanes = <0 1 2 3>;
pinctrl-0 = <&edp_hpd_active>;
pinctrl-names = "default";
status = "okay";
aux-bus {
panel {
compatible = "edp-panel";
no-hpd;
backlight = <&backlight>;
ports {
port {
auo_b140han06_in: endpoint {
remote-endpoint = <&mdss_edp_out>;
};
};
};
};
};
ports {
port@1 {
reg = <1>;
mdss_edp_out: endpoint {
remote-endpoint = <&auo_b140han06_in>;
};
};
};
};
&pcie3 {
perst-gpio = <&tlmm 178 GPIO_ACTIVE_LOW>;
wake-gpio = <&tlmm 180 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&pcie3_default_state>;
pinctrl-names = "default";
status = "okay";
};
&pcie3_phy {
vdda-phy-supply = <&vreg_l5e_0p88>;
vdda-pll-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&pmc8180c_lpg {
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&qupv3_id_2 {
status = "okay";
};
&remoteproc_adsp {
memory-region = <&adsp_mem>;
firmware-name = "qcom/sc8180x/LENOVO/82AK/qcadsp8180.mbn";
status = "okay";
};
&remoteproc_cdsp {
memory-region = <&cdsp_mem>;
firmware-name = "qcom/sc8180x/LENOVO/82AK/qccdsp8180.mbn";
status = "okay";
};
&remoteproc_mpss {
memory-region = <&mpss_mem>;
firmware-name = "qcom/sc8180x/LENOVO/82AK/qcmpss8180_nm.mbn";
status = "okay";
};
&uart13 {
pinctrl-0 = <&uart13_state>;
pinctrl-names = "default";
status = "okay";
bluetooth {
compatible = "qcom,wcn3998-bt";
vddio-supply = <&vreg_s4a_1p8>;
vddxo-supply = <&vreg_l7a_1p8>;
vddrf-supply = <&vreg_l9a_1p3>;
vddch0-supply = <&vreg_l11c_3p3>;
max-speed = <3200000>;
};
};
&ufs_mem_hc {
reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l10e_2p9>;
vcc-max-microamp = <155000>;
vccq2-supply = <&vreg_l7e_1p8>;
vccq2-max-microamp = <425000>;
status = "okay";
};
&ufs_mem_phy {
vdda-phy-supply = <&vreg_l5e_0p88>;
vdda-pll-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&usb_prim_hsphy {
vdda-pll-supply = <&vreg_l5e_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
vdda33-supply = <&vreg_l16e_3p0>;
status = "okay";
};
&usb_prim_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
status = "okay";
};
&usb_prim {
status = "okay";
};
&usb_prim_dwc3 {
dr_mode = "host";
};
&usb_sec_hsphy {
vdda-pll-supply = <&vreg_l5e_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
vdda33-supply = <&vreg_l16e_3p0>;
status = "okay";
};
&usb_sec_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
status = "okay";
};
&usb_sec {
status = "okay";
};
&usb_sec_dwc3 {
dr_mode = "host";
};
&wifi {
memory-region = <&wlan_mem>;
vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>;
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
vdd-1.3-rfa-supply = <&vreg_l9a_1p3>;
vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
vdd-3.3-ch1-supply = <&vreg_l10c_3p3>;
status = "okay";
};
&xo_board_clk {
clock-frequency = <38400000>;
};
/* PINCTRL */
&pmc8180c_gpios {
bl_pwm_default: bl-pwm-default-state {
en-pins {
pins = "gpio8";
function = "normal";
};
pwm-pins {
pins = "gpio10";
function = "func1";
};
};
};
&tlmm {
gpio-reserved-ranges = <0 4>, <47 4>, <126 4>;
edp_hpd_active: epd-hpd-active-state {
pins = "gpio10";
function = "edp_hot";
};
hall_int_active_state: hall-int-active-state {
pins = "gpio121";
function = "gpio";
input-enable;
bias-disable;
};
i2c1_active: i2c1-active-state {
pins = "gpio114", "gpio115";
function = "qup1";
bias-pull-up = <1>;
drive-strength = <2>;
};
i2c1_hid_active: i2c1-hid-active-state {
pins = "gpio122";
function = "gpio";
input-enable;
bias-pull-up;
drive-strength = <2>;
};
i2c7_active: i2c7-active-state {
pins = "gpio98", "gpio99";
function = "qup7";
bias-pull-up;
drive-strength = <2>;
};
i2c7_hid_active: i2c7-hid-active-state {
pins = "gpio37", "gpio24";
function = "gpio";
input-enable;
bias-pull-up;
drive-strength = <2>;
};
pcie3_default_state: pcie3-default-state {
clkreq-pins {
pins = "gpio179";
function = "pci_e3";
bias-pull-up;
};
reset-n-pins {
pins = "gpio178";
function = "gpio";
drive-strength = <2>;
output-low;
bias-pull-down;
};
wake-n-pins {
pins = "gpio180";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
uart13_state: uart13-state {
cts-pins {
pins = "gpio43";
function = "qup13";
bias-pull-down;
};
rts-tx-pins {
pins = "gpio44", "gpio45";
function = "qup13";
drive-strength = <2>;
bias-disable;
};
rx-pins {
pins = "gpio46";
function = "qup13";
bias-pull-up;
};
};
};

View File

@ -0,0 +1,326 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023, Linaro Limited
*/
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>
/ {
thermal-zones {
pmc8180-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmc8180_temp>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};
trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
pmc8180c-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmc8180c_temp>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};
trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
};
};
&spmi_bus {
pmc8180_0: pmic@0 {
compatible = "qcom,pm8150", "qcom,spmi-pmic";
reg = <0x0 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pon: power-on@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;
pwrkey {
compatible = "qcom,pm8941-pwrkey";
interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
debounce = <15625>;
bias-pull-up;
linux,code = <KEY_POWER>;
status = "disabled";
};
};
pmc8180_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
io-channels = <&pmc8180_adc ADC5_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
pmc8180_adc: adc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};
vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};
die-temp@6 {
reg = <ADC5_DIE_TEMP>;
qcom,pre-scaling = <1 1>;
label = "die_temp";
};
};
pmc8180_adc_tm: adc-tm@3500 {
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
rtc@6000 {
compatible = "qcom,pm8941-rtc";
reg = <0x6000>;
reg-names = "rtc", "alarm";
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
};
pmc8180_gpios: gpio@c000 {
compatible = "qcom,pmc8180-gpio";
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
pmic@1 {
compatible = "qcom,pmc8180", "qcom,spmi-pmic";
reg = <0x1 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};
pmic@2 {
compatible = "qcom,smb2351", "qcom,spmi-pmic";
reg = <0x2 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
adc@3100 {
compatible = "qcom,spmi-adc-rev2";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};
vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};
vcoin@85 {
reg = <0x85>;
qcom,pre-scaling = <1 1>;
label = "vcoin2";
};
};
};
pmic@6 {
compatible = "qcom,pm8150c", "qcom,spmi-pmic";
reg = <0x6 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};
pmic@8 {
compatible = "qcom,pm8150", "qcom,spmi-pmic";
reg = <0x8 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};
pmic@a {
compatible = "qcom,smb2351", "qcom,spmi-pmic";
reg = <0xa SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
adc@3100 {
compatible = "qcom,spmi-adc-rev2";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0xa 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};
vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};
vcoin@85 {
reg = <0x85>;
qcom,pre-scaling = <1 1>;
label = "vcoin";
};
};
};
pmic@4 {
compatible = "qcom,pm8150c", "qcom,spmi-pmic";
reg = <0x4 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
power-on@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;
status = "disabled";
};
pmc8180c_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
io-channels = <&pmc8180c_adc ADC5_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
pmc8180c_adc: adc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};
vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};
die-temp@6 {
reg = <ADC5_DIE_TEMP>;
qcom,pre-scaling = <1 1>;
label = "die_temp";
};
};
pmc8180c_adc_tm: adc-tm@3500 {
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
pmc8180c_gpios: gpio@c000 {
compatible = "qcom,pmc8180c-gpio";
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
pmic@5 {
compatible = "qcom,pmc8180c", "qcom,spmi-pmic";
reg = <0x5 SPMI_USID>;
pmc8180c_lpg: lpg {
compatible = "qcom,pmc8180c-lpg";
#address-cells = <1>;
#size-cells = <0>;
#pwm-cells = <2>;
status = "disabled";
};
};
};

View File

@ -0,0 +1,706 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2020-2023, Linaro Limited
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc8180x.dtsi"
#include "sc8180x-pmics.dtsi"
/ {
model = "Qualcomm SC8180x Primus";
compatible = "qcom,sc8180x-primus", "qcom,sc8180x";
aliases {
serial0 = &uart12;
serial1 = &uart13;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pmc8180c_lpg 4 1000000>;
enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&bl_pwm_default>;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&hall_int_active_state>;
lid-switch {
gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
wakeup-source;
wakeup-event-action = <EV_ACT_DEASSERTED>;
};
};
reserved-memory {
rmtfs_mem: rmtfs-region@85500000 {
compatible = "qcom,rmtfs-mem";
reg = <0x0 0x85500000 0x0 0x200000>;
no-map;
qcom,client-id = <1>;
qcom,vmid = <15>;
};
wlan_mem: wlan-region@8bc00000 {
reg = <0x0 0x8bc00000 0x0 0x180000>;
no-map;
};
adsp_mem: adsp-region@96e00000 {
reg = <0x0 0x96e00000 0x0 0x1c00000>;
no-map;
};
mpss_mem: mpss-region@8d800000 {
reg = <0x0 0x8d800000 0x0 0x9600000>;
no-map;
};
gpu_mem: gpu-region@98a00000 {
reg = <0x0 0x98a00000 0x0 0x2000>;
no-map;
};
reserved-region@9a500000 {
reg = <0x0 0x9a500000 0x0 0x600000>;
no-map;
};
};
vreg_nvme_0p9: nvme-0p9-regulator {
compatible = "regulator-fixed";
regulator-name = "vreg_nvme_0p9";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-always-on;
};
vreg_nvme_3p3: nvme-3p3-regulator {
compatible = "regulator-fixed";
regulator-name = "vreg_nvme_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&pmc8180c_gpios 11 0>;
enable-active-high;
regulator-always-on;
};
vdd_kb_tp_3v3: vdd-kb-tp-3v3-regulator {
compatible = "regulator-fixed";
regulator-name = "vdd_kb_tp_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 4 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
pinctrl-names = "default";
pinctrl-0 = <&kb_tp_3v3_en_active_state>;
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};
vreg_s4a_1p8: pm8150-s4 {
compatible = "regulator-fixed";
regulator-name = "vreg_s4a_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vph_pwr>;
};
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pmc8180-rpmh-regulators";
qcom,pmic-id = "a";
vdd-s5-supply = <&vph_pwr>;
vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
vreg_s5a_2p0: smps5 {
regulator-min-microvolt = <2040000>;
regulator-max-microvolt = <2100000>;
};
vreg_l7a_1p8: ldo7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9a_1p3: ldo9 {
regulator-min-microvolt = <1296000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12a_1p8: ldo12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pmc8180c-rpmh-regulators";
qcom,pmic-id = "c";
vdd-s6-supply = <&vph_pwr>;
vdd-s8-supply = <&vph_pwr>;
vdd-l2-l3-supply = <&vreg_s6c_1p35>;
vdd-bob-supply = <&vph_pwr>;
vreg_s6c_1p35: smps6 {
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1372000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s8c_1p8: smps8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-always-on;
};
vreg_l3c_1p2: ldo3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c_3p3: ldo4 {
regulator-min-microvolt = <3008000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c_3p3: ldo10 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c_3p3: ldo11 {
regulator-min-microvolt = <3296000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_bob: bob {
regulator-min-microvolt = <3296000>;
regulator-max-microvolt = <3350000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-2 {
compatible = "qcom,pmc8180-rpmh-regulators";
qcom,pmic-id = "e";
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-l2-l10-supply = <&vreg_bob>;
vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>;
vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>;
vdd-l13-l16-l17-supply = <&vreg_bob>;
vreg_s4e_0p98: smps4 {
regulator-min-microvolt = <992000>;
regulator-max-microvolt = <992000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s5e_2p05: smps5 {
regulator-min-microvolt = <2040000>;
regulator-max-microvolt = <2040000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l1e_0p75: ldo1 {
regulator-min-microvolt = <752000>;
regulator-max-microvolt = <752000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l5e_0p88: ldo5 {
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7e_1p8: ldo7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10e_2p9: ldo10 {
regulator-min-microvolt = <2904000>;
regulator-max-microvolt = <2904000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12e: ldo12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l16e_3p0: ldo16 {
regulator-min-microvolt = <3072000>;
regulator-max-microvolt = <3072000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
};
&dispcc {
status = "okay";
};
&gpu {
status = "okay";
zap-shader {
memory-region = <&gpu_mem>;
firmware-name = "qcom/sc8180x/qcdxkmsuc8180.mbn";
};
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&ts_i2c_active_state>;
status = "okay";
touchscreen@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
hid-descr-addr = <0x1>;
vdd-supply = <&vreg_l4c_3p3>;
vddl-supply = <&vreg_l12e>;
post-power-on-delay-ms = <20>;
interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&ts_active_state>;
};
};
&i2c7 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&aux_i2c_active_state>;
status = "okay";
touchpad@15 {
compatible = "hid-over-i2c";
reg = <0x15>;
hid-descr-addr = <0x1>;
interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&tp_int_active_state>;
vdd-supply = <&vdd_kb_tp_3v3>;
};
keyboard@3a {
compatible = "hid-over-i2c";
reg = <0x3a>;
hid-descr-addr = <0x1>;
interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&kb_int_active_state>;
vdd-supply = <&vdd_kb_tp_3v3>;
};
};
&mdss {
status = "okay";
};
&mdss_edp {
data-lanes = <0 1 2 3>;
pinctrl-names = "default";
pinctrl-0 = <&edp_hpd_active>;
status = "okay";
aux-bus {
panel {
compatible = "edp-panel";
backlight = <&backlight>;
ports {
port {
auo_b133han05_in: endpoint {
remote-endpoint = <&mdss_edp_out>;
};
};
};
};
};
ports {
port@1 {
reg = <1>;
mdss_edp_out: endpoint {
remote-endpoint = <&auo_b133han05_in>;
};
};
};
};
&pcie1 {
perst-gpio = <&tlmm 175 GPIO_ACTIVE_LOW>;
wake-gpio = <&tlmm 177 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pcie2_default_state>;
status = "okay";
};
&pcie1_phy {
vdda-phy-supply = <&vreg_l5e_0p88>;
vdda-pll-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&pmc8180c_lpg {
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&qupv3_id_2 {
status = "okay";
};
&remoteproc_adsp {
memory-region = <&adsp_mem>;
firmware-name = "qcom/sc8180x/qcadsp8180.mbn";
status = "okay";
};
&remoteproc_mpss {
memory-region = <&mpss_mem>;
firmware-name = "qcom/sc8180x/qcmpss8180.mbn";
status = "okay";
};
&uart12 {
compatible = "qcom,geni-debug-uart";
status = "okay";
};
&uart13 {
pinctrl-names = "default";
pinctrl-0 = <&uart13_state>;
status = "okay";
bluetooth {
compatible = "qcom,wcn3998-bt";
vddio-supply = <&vreg_s4a_1p8>;
vddxo-supply = <&vreg_l7a_1p8>;
vddrf-supply = <&vreg_l9a_1p3>;
vddch0-supply = <&vreg_l11c_3p3>;
max-speed = <3200000>;
};
};
&ufs_mem_hc {
reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l10e_2p9>;
vcc-max-microamp = <155000>;
vccq2-supply = <&vreg_l7e_1p8>;
vccq2-max-microamp = <425000>;
status = "okay";
};
&ufs_mem_phy {
vdda-phy-supply = <&vreg_l5e_0p88>;
vdda-pll-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&usb_prim_hsphy {
vdda-pll-supply = <&vreg_l5e_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
vdda33-supply = <&vreg_l16e_3p0>;
status = "okay";
};
&usb_prim_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
status = "okay";
};
&usb_prim {
status = "okay";
};
&usb_prim_dwc3 {
dr_mode = "host";
};
&usb_sec_hsphy {
vdda-pll-supply = <&vreg_l5e_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
vdda33-supply = <&vreg_l16e_3p0>;
status = "okay";
};
&usb_sec_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
status = "okay";
};
&usb_sec {
status = "okay";
};
&usb_sec_dwc3 {
dr_mode = "host";
};
&wifi {
memory-region = <&wlan_mem>;
vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>;
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
vdd-1.3-rfa-supply = <&vreg_l9a_1p3>;
vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
vdd-3.3-ch1-supply = <&vreg_l10c_3p3>;
status = "okay";
};
&xo_board_clk {
clock-frequency = <38400000>;
};
/* PINCTRL */
&pmc8180c_gpios {
bl_pwm_default: bl-pwm-default-state {
en-pins {
pins = "gpio8";
function = "normal";
};
pwm-pins {
pins = "gpio10";
function = "func1";
};
};
};
&tlmm {
gpio-reserved-ranges = <0 4>, <47 4>, <126 4>;
aux_i2c_active_state: aux-i2c-active-state {
pins = "gpio98", "gpio99";
function = "qup7";
bias-disable;
drive-strength = <16>;
};
edp_hpd_active: epd-hpd-active-state {
pins = "gpio10";
function = "edp_hot";
};
hall_int_active_state: hall-int-active-state {
pins = "gpio121";
function = "gpio";
input-enable;
bias-disable;
};
kb_int_active_state: kb-int-active-state {
int-n-pins {
pins = "gpio37";
function = "gpio";
bias-pull-up;
intput-enable;
};
kp-disable-pins {
pins = "gpio135";
function = "gpio";
output-high;
};
};
kb_tp_3v3_en_active_state: kb-tp-3v3-en-active-state {
pins = "gpio4";
function = "gpio";
bias-disable;
};
pcie2_default_state: pcie2-default-state {
clkreq-pins {
pins = "gpio176";
function = "pci_e2";
bias-pull-up;
};
reset-n-pins {
pins = "gpio175";
function = "gpio";
drive-strength = <2>;
output-low;
bias-pull-down;
};
wake-n-pins {
pins = "gpio177";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
tp_int_active_state: tp-int-active-state {
tp-int-pins {
pins = "gpio24";
function = "gpio";
bias-disable;
input-enable;
};
tp-close-n-pins {
pins = "gpio116";
function = "gpio";
bias-disable;
input-enable;
};
};
ts_active_state: ts-active-state {
int-n-pins {
pins = "gpio122";
function = "gpio";
input-enable;
bias-disable;
};
reset-n-pins {
pins = "gpio54";
function = "gpio";
output-high;
};
};
ts_i2c_active_state: ts-i2c-active-state {
pins = "gpio114", "gpio115";
function = "qup1";
/* External pull up */
bias-disable;
drive-strength = <2>;
};
uart13_state: uart13-state {
cts-pins {
pins = "gpio43";
function = "qup13";
bias-pull-down;
};
rts-tx-pins {
pins = "gpio44", "gpio45";
function = "qup13";
drive-strength = <2>;
bias-disable;
};
rx-pins {
pins = "gpio46";
function = "qup13";
bias-pull-up;
};
};
};

File diff suppressed because it is too large Load Diff

View File

@ -64,7 +64,7 @@
reg = <1>;
pmic_glink_con0_ss: endpoint {
remote-endpoint = <&mdss0_dp0_out>;
remote-endpoint = <&usb_0_qmpphy_out>;
};
};
@ -99,7 +99,7 @@
reg = <1>;
pmic_glink_con1_ss: endpoint {
remote-endpoint = <&mdss0_dp1_out>;
remote-endpoint = <&usb_1_qmpphy_out>;
};
};
@ -308,6 +308,13 @@
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6c: ldo6 {
regulator-name = "vreg_l6c";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7c: ldo7 {
regulator-name = "vreg_l7c";
regulator-min-microvolt = <2504000>;
@ -318,6 +325,13 @@
RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9c: ldo9 {
regulator-name = "vreg_l9c";
regulator-min-microvolt = <2960000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13c: ldo13 {
regulator-name = "vreg_l13c";
regulator-min-microvolt = <3072000>;
@ -386,7 +400,7 @@
&mdss0_dp0_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con0_ss>;
remote-endpoint = <&usb_0_qmpphy_dp_in>;
};
&mdss0_dp1 {
@ -395,7 +409,7 @@
&mdss0_dp1_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con1_ss>;
remote-endpoint = <&usb_1_qmpphy_dp_in>;
};
&mdss0_dp3 {
@ -600,6 +614,19 @@
status = "okay";
};
&sdc2 {
pinctrl-0 = <&sdc2_default_state>;
pinctrl-1 = <&sdc2_sleep_state>;
pinctrl-names = "default", "sleep";
vmmc-supply = <&vreg_l9c>;
vqmmc-supply = <&vreg_l6c>;
cd-gpios = <&tlmm 131 GPIO_ACTIVE_LOW>;
status = "okay";
};
&uart17 {
compatible = "qcom,geni-debug-uart";
@ -644,9 +671,19 @@
vdda-phy-supply = <&vreg_l9d>;
vdda-pll-supply = <&vreg_l4d>;
orientation-switch;
status = "okay";
};
&usb_0_qmpphy_dp_in {
remote-endpoint = <&mdss0_dp0_out>;
};
&usb_0_qmpphy_out {
remote-endpoint = <&pmic_glink_con0_ss>;
};
&usb_0_role_switch {
remote-endpoint = <&pmic_glink_con0_hs>;
};
@ -671,9 +708,19 @@
vdda-phy-supply = <&vreg_l4b>;
vdda-pll-supply = <&vreg_l3b>;
orientation-switch;
status = "okay";
};
&usb_1_qmpphy_dp_in {
remote-endpoint = <&mdss0_dp1_out>;
};
&usb_1_qmpphy_out {
remote-endpoint = <&pmic_glink_con1_ss>;
};
&usb_1_role_switch {
remote-endpoint = <&pmic_glink_con1_hs>;
};
@ -842,6 +889,60 @@
};
};
sdc2_default_state: sdc2-default-state {
clk-pins {
pins = "sdc2_clk";
drive-strength = <16>;
bias-disable;
};
cmd-pins {
pins = "sdc2_cmd";
drive-strength = <16>;
bias-pull-up;
};
data-pins {
pins = "sdc2_data";
drive-strength = <16>;
bias-pull-up;
};
card-detect-pins {
pins = "gpio131";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};
sdc2_sleep_state: sdc2-sleep-state {
clk-pins {
pins = "sdc2_clk";
drive-strength = <2>;
bias-disable;
};
cmd-pins {
pins = "sdc2_cmd";
drive-strength = <2>;
bias-pull-up;
};
data-pins {
pins = "sdc2_data";
drive-strength = <2>;
bias-pull-up;
};
card-detect-pins {
pins = "gpio131";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};
tpad_default: tpad-default-state {
int-n-pins {
pins = "gpio182";

View File

@ -106,7 +106,7 @@
reg = <1>;
pmic_glink_con0_ss: endpoint {
remote-endpoint = <&mdss0_dp0_out>;
remote-endpoint = <&usb_0_qmpphy_out>;
};
};
@ -141,7 +141,7 @@
reg = <1>;
pmic_glink_con1_ss: endpoint {
remote-endpoint = <&mdss0_dp1_out>;
remote-endpoint = <&usb_1_qmpphy_out>;
};
};
@ -528,7 +528,7 @@
&mdss0_dp0_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con0_ss>;
remote-endpoint = <&usb_0_qmpphy_dp_in>;
};
&mdss0_dp1 {
@ -537,7 +537,7 @@
&mdss0_dp1_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con1_ss>;
remote-endpoint = <&usb_1_qmpphy_dp_in>;
};
&mdss0_dp3 {
@ -1114,9 +1114,19 @@
vdda-phy-supply = <&vreg_l9d>;
vdda-pll-supply = <&vreg_l4d>;
orientation-switch;
status = "okay";
};
&usb_0_qmpphy_dp_in {
remote-endpoint = <&mdss0_dp0_out>;
};
&usb_0_qmpphy_out {
remote-endpoint = <&pmic_glink_con0_ss>;
};
&usb_0_role_switch {
remote-endpoint = <&pmic_glink_con0_hs>;
};
@ -1141,9 +1151,19 @@
vdda-phy-supply = <&vreg_l4b>;
vdda-pll-supply = <&vreg_l3b>;
orientation-switch;
status = "okay";
};
&usb_1_qmpphy_dp_in {
remote-endpoint = <&mdss0_dp1_out>;
};
&usb_1_qmpphy_out {
remote-endpoint = <&pmic_glink_con1_ss>;
};
&usb_1_role_switch {
remote-endpoint = <&pmic_glink_con1_hs>;
};

View File

@ -768,6 +768,36 @@
ranges = <0 0 0 0 0x10 0>;
dma-ranges = <0 0 0 0 0x10 0>;
ethernet0: ethernet@20000 {
compatible = "qcom,sc8280xp-ethqos";
reg = <0x0 0x00020000 0x0 0x10000>,
<0x0 0x00036000 0x0 0x100>;
reg-names = "stmmaceth", "rgmii";
clocks = <&gcc GCC_EMAC0_AXI_CLK>,
<&gcc GCC_EMAC0_SLV_AHB_CLK>,
<&gcc GCC_EMAC0_PTP_CLK>,
<&gcc GCC_EMAC0_RGMII_CLK>;
clock-names = "stmmaceth",
"pclk",
"ptp_ref",
"rgmii";
interrupts = <GIC_SPI 946 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 936 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq", "eth_lpi";
iommus = <&apps_smmu 0x4c0 0xf>;
power-domains = <&gcc EMAC_0_GDSC>;
snps,tso;
snps,pbl = <32>;
rx-fifo-depth = <4096>;
tx-fifo-depth = <4096>;
status = "disabled";
};
gcc: clock-controller@100000 {
compatible = "qcom,gcc-sc8280xp";
reg = <0x0 0x00100000 0x0 0x1f0000>;
@ -2815,6 +2845,49 @@
};
};
sdc2: mmc@8804000 {
compatible = "qcom,sc8280xp-sdhci", "qcom,sdhci-msm-v5";
reg = <0 0x08804000 0 0x1000>;
interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC2_AHB_CLK>,
<&gcc GCC_SDCC2_APPS_CLK>,
<&rpmhcc RPMH_CXO_CLK>;
clock-names = "iface", "core", "xo";
resets = <&gcc GCC_SDCC2_BCR>;
interconnects = <&aggre2_noc MASTER_SDCC_2 0 &mc_virt SLAVE_EBI1 0>,
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_SDCC_2 0>;
interconnect-names = "sdhc-ddr","cpu-sdhc";
iommus = <&apps_smmu 0x4e0 0x0>;
power-domains = <&rpmhpd SC8280XP_CX>;
operating-points-v2 = <&sdc2_opp_table>;
bus-width = <4>;
dma-coherent;
status = "disabled";
sdc2_opp_table: opp-table {
compatible = "operating-points-v2";
opp-100000000 {
opp-hz = /bits/ 64 <100000000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <1800000 400000>;
opp-avg-kBps = <100000 0>;
};
opp-202000000 {
opp-hz = /bits/ 64 <202000000>;
required-opps = <&rpmhpd_opp_svs_l1>;
opp-peak-kBps = <5400000 1600000>;
opp-avg-kBps = <200000 0>;
};
};
};
usb_0_qmpphy: phy@88eb000 {
compatible = "qcom,sc8280xp-qmp-usb43dp-phy";
reg = <0 0x088eb000 0 0x4000>;
@ -2835,6 +2908,23 @@
#phy-cells = <1>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_0_qmpphy_out: endpoint {};
};
port@2 {
reg = <2>;
usb_0_qmpphy_dp_in: endpoint {};
};
};
};
usb_1_hsphy: phy@8902000 {
@ -2871,6 +2961,23 @@
#phy-cells = <1>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_1_qmpphy_out: endpoint {};
};
port@2 {
reg = <2>;
usb_1_qmpphy_dp_in: endpoint {};
};
};
};
mdss1_dp0_phy: phy@8909a00 {
@ -3895,7 +4002,7 @@
#size-cells = <2>;
ranges;
gic-its@17a40000 {
msi-controller@17a40000 {
compatible = "arm,gic-v3-its";
reg = <0 0x17a40000 0 0x20000>;
msi-controller;
@ -4706,6 +4813,36 @@
status = "disabled";
};
ethernet1: ethernet@23000000 {
compatible = "qcom,sc8280xp-ethqos";
reg = <0x0 0x23000000 0x0 0x10000>,
<0x0 0x23016000 0x0 0x100>;
reg-names = "stmmaceth", "rgmii";
clocks = <&gcc GCC_EMAC1_AXI_CLK>,
<&gcc GCC_EMAC1_SLV_AHB_CLK>,
<&gcc GCC_EMAC1_PTP_CLK>,
<&gcc GCC_EMAC1_RGMII_CLK>;
clock-names = "stmmaceth",
"pclk",
"ptp_ref",
"rgmii";
interrupts = <GIC_SPI 929 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 919 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq", "eth_lpi";
iommus = <&apps_smmu 0x40 0xf>;
power-domains = <&gcc EMAC_1_GDSC>;
snps,tso;
snps,pbl = <32>;
rx-fifo-depth = <4096>;
tx-fifo-depth = <4096>;
status = "disabled";
};
};
sound: sound {

View File

@ -138,11 +138,6 @@
no-map;
};
reserved@85800000 {
reg = <0x00 0x85800000 0x00 0x3700000>;
no-map;
};
cont_splash_mem: splash@9d400000 {
reg = <0 0x9d400000 0 (1920 * 1080 * 4)>;
no-map;
@ -256,6 +251,10 @@
linux,code = <KEY_VOLUMEUP>;
};
&qhee_code {
reg = <0x00 0x85800000 0x00 0x3700000>;
};
&qusb2phy0 {
status = "okay";

View File

@ -548,7 +548,7 @@
};
};
soc {
soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0 0 0xffffffff>;
@ -1892,7 +1892,7 @@
};
};
camss: camss@ca00000 {
camss: camss@ca00020 {
compatible = "qcom,sdm660-camss";
reg = <0x0ca00020 0x10>,
<0x0ca30000 0x100>,

View File

@ -4,8 +4,10 @@
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "sdm632.dtsi"
#include "pm8953.dtsi"
#include "pmi632.dtsi"
/ {
model = "Fairphone 3";
@ -83,6 +85,33 @@
linux,code = <KEY_VOLUMEDOWN>;
};
&pmi632_lpg {
status = "okay";
multi-led {
color = <LED_COLOR_ID_RGB>;
function = LED_FUNCTION_STATUS;
#address-cells = <1>;
#size-cells = <0>;
led@1 {
reg = <1>;
color = <LED_COLOR_ID_RED>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_BLUE>;
};
};
};
&sdhc_1 {
status = "okay";
vmmc-supply = <&pm8953_l8>;

View File

@ -419,6 +419,9 @@
status = "okay";
vdda-supply = <&vreg_l26a_1p2>;
qcom,dual-dsi-mode;
qcom,master-dsi;
ports {
port@1 {
endpoint {
@ -434,6 +437,31 @@
vdds-supply = <&vreg_l1a_0p875>;
};
&dsi1 {
vdda-supply = <&vreg_l26a_1p2>;
qcom,dual-dsi-mode;
/* DSI1 is slave, so use DSI0 clocks */
assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
status = "okay";
ports {
port@1 {
endpoint {
remote-endpoint = <&lt9611_b>;
data-lanes = <0 1 2 3>;
};
};
};
};
&dsi1_phy {
vdds-supply = <&vreg_l1a_0p875>;
status = "okay";
};
&gcc {
protected-clocks = <GCC_QSPI_CORE_CLK>,
<GCC_QSPI_CORE_CLK_SRC>,
@ -493,6 +521,14 @@
};
};
port@1 {
reg = <1>;
lt9611_b: endpoint {
remote-endpoint = <&dsi1_out>;
};
};
port@2 {
reg = <2>;

View File

@ -554,6 +554,28 @@
};
};
&pmi8998_flash {
status = "okay";
led-0 {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
led-sources = <1>;
led-max-microamp = <100000>;
flash-max-microamp = <1100000>;
flash-max-timeout-us = <1280000>;
};
led-1 {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_YELLOW>;
led-sources = <2>;
led-max-microamp = <100000>;
flash-max-microamp = <1100000>;
flash-max-timeout-us = <1280000>;
};
};
&qup_uart9_rx {
drive-strength = <2>;
bias-pull-up;

View File

@ -483,6 +483,7 @@
};
rmi4-f12@12 {
reg = <0x12>;
syna,rezero-wait-ms = <0xc8>;
syna,clip-x-high = <0x438>;
syna,clip-y-high = <0x870>;

View File

@ -3890,6 +3890,7 @@
qspi: spi@88df000 {
compatible = "qcom,sdm845-qspi", "qcom,qspi-v1";
reg = <0 0x088df000 0 0x600>;
iommus = <&apps_smmu 0x160 0x0>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
@ -4229,7 +4230,7 @@
#reset-cells = <1>;
};
camss: camss@a00000 {
camss: camss@acb3000 {
compatible = "qcom,sdm845-camss";
reg = <0 0x0acb3000 0 0x1000>,
@ -5212,7 +5213,7 @@
};
slimbam: dma-controller@17184000 {
compatible = "qcom,bam-v1.7.0";
compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
qcom,controlled-remotely;
reg = <0 0x17184000 0 0x2a000>;
num-channels = <31>;

View File

@ -242,6 +242,9 @@
&usb_dwc3 {
maximum-speed = "high-speed";
dr_mode = "peripheral";
phys = <&usb_hsphy>;
phy-names = "usb2-phy";
};
&usb_hsphy {

View File

@ -0,0 +1,250 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (c) 2023, Dang Huynh <danct12@riseup.net>
*/
/dts-v1/;
#include "sm6115.dtsi"
#include "pm6125.dtsi"
#include <dt-bindings/arm/qcom,ids.h>
/ {
model = "F(x)tec Pro1X (QX1050)";
compatible = "fxtec,pro1x", "qcom,sm6115";
chassis-type = "handset";
qcom,msm-id = <QCOM_ID_SM6115 0x10000>;
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
framebuffer0: framebuffer@5c000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x5c000000 0x0 (1080 * 2160 * 4)>;
width = <1080>;
height = <2160>;
stride = <(1080 * 4)>;
format = "a8r8g8b8";
clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&vol_up_n>;
pinctrl-names = "default";
key-volume-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
gpio-key,wakeup;
};
};
};
&dispcc {
/* HACK: disable until a panel driver is ready to retain simplefb */
status = "disabled";
};
&pm6125_gpios {
vol_up_n: vol-up-n-state {
pins = "gpio5";
function = "normal";
power-source = <0>;
bias-pull-up;
input-enable;
};
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm6125-regulators";
pm6125_s6a: s6 {
regulator-min-microvolt = <304000>;
regulator-max-microvolt = <1456000>;
};
pm6125_s7a: s7 {
regulator-min-microvolt = <1280000>;
regulator-max-microvolt = <2040000>;
};
pm6125_s8a: s8 {
regulator-min-microvolt = <1064000>;
regulator-max-microvolt = <1304000>;
};
pm6125_l1a: l1 {
regulator-min-microvolt = <952000>;
regulator-max-microvolt = <1152000>;
};
pm6125_l4a: l4 {
regulator-min-microvolt = <488000>;
regulator-max-microvolt = <1000000>;
};
pm6125_l5a: l5 {
regulator-min-microvolt = <1648000>;
regulator-max-microvolt = <3056000>;
};
pm6125_l6a: l6 {
regulator-min-microvolt = <576000>;
regulator-max-microvolt = <656000>;
};
pm6125_l7a: l7 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1304000>;
};
pm6125_l8a: l8 {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <728000>;
};
pm6125_l9a: l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
};
pm6125_l10a: l10 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1904000>;
};
pm6125_l11a: l11 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1952000>;
regulator-allow-set-load;
};
pm6125_l12a: l12 {
regulator-min-microvolt = <1624000>;
regulator-max-microvolt = <1984000>;
};
pm6125_l13a: l13 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <1952000>;
};
pm6125_l14a: l14 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1904000>;
};
pm6125_l15a: l15 {
regulator-min-microvolt = <2920000>;
regulator-max-microvolt = <3232000>;
};
pm6125_l16a: l16 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1904000>;
};
pm6125_l17a: l17 {
regulator-min-microvolt = <1152000>;
regulator-max-microvolt = <1384000>;
};
pm6125_l18a: l18 {
regulator-min-microvolt = <1104000>;
regulator-max-microvolt = <1312000>;
};
pm6125_l19a: l19 {
regulator-min-microvolt = <1624000>;
regulator-max-microvolt = <3304000>;
};
pm6125_l20a: l20 {
regulator-min-microvolt = <1624000>;
regulator-max-microvolt = <3304000>;
};
pm6125_l21a: l21 {
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3600000>;
};
pm6125_l22a: l22 {
regulator-min-microvolt = <2952000>;
regulator-max-microvolt = <3304000>;
};
pm6125_l23a: l23 {
regulator-min-microvolt = <3200000>;
regulator-max-microvolt = <3400000>;
};
pm6125_l24a: l24 {
regulator-min-microvolt = <2704000>;
regulator-max-microvolt = <3600000>;
regulator-allow-set-load;
};
};
};
&sleep_clk {
clock-frequency = <32764>;
};
&tlmm {
gpio-reserved-ranges = <0 4>, <14 4>;
};
&ufs_mem_hc {
vcc-supply = <&pm6125_l24a>;
vcc-max-microamp = <600000>;
vccq2-supply = <&pm6125_l11a>;
vccq2-max-microamp = <600000>;
status = "okay";
};
&ufs_mem_phy {
vdda-phy-supply = <&pm6125_l4a>;
vdda-pll-supply = <&pm6125_l12a>;
vddp-ref-clk-supply = <&pm6125_l18a>;
status = "okay";
};
&usb {
status = "okay";
};
&usb_dwc3 {
maximum-speed = "high-speed";
dr_mode = "peripheral";
};
&usb_hsphy {
vdd-supply = <&pm6125_l4a>;
vdda-pll-supply = <&pm6125_l12a>;
vdda-phy-dpdm-supply = <&pm6125_l15a>;
status = "okay";
};
&xo_board {
clock-frequency = <19200000>;
};

View File

@ -47,6 +47,8 @@
enable-method = "psci";
next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD0>;
power-domain-names = "psci";
L2_0: l2-cache {
compatible = "cache";
cache-level = <2>;
@ -63,6 +65,8 @@
enable-method = "psci";
next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD1>;
power-domain-names = "psci";
};
CPU2: cpu@2 {
@ -75,6 +79,8 @@
enable-method = "psci";
next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD2>;
power-domain-names = "psci";
};
CPU3: cpu@3 {
@ -87,6 +93,8 @@
enable-method = "psci";
next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD3>;
power-domain-names = "psci";
};
CPU4: cpu@100 {
@ -99,6 +107,8 @@
dynamic-power-coefficient = <282>;
next-level-cache = <&L2_1>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&CPU_PD4>;
power-domain-names = "psci";
L2_1: l2-cache {
compatible = "cache";
cache-level = <2>;
@ -115,6 +125,8 @@
enable-method = "psci";
next-level-cache = <&L2_1>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&CPU_PD5>;
power-domain-names = "psci";
};
CPU6: cpu@102 {
@ -127,6 +139,8 @@
enable-method = "psci";
next-level-cache = <&L2_1>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&CPU_PD6>;
power-domain-names = "psci";
};
CPU7: cpu@103 {
@ -139,6 +153,8 @@
enable-method = "psci";
next-level-cache = <&L2_1>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&CPU_PD7>;
power-domain-names = "psci";
};
cpu-map {
@ -178,6 +194,68 @@
};
};
};
idle-states {
entry-method = "psci";
LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
compatible = "arm,idle-state";
idle-state-name = "silver-rail-power-collapse";
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <290>;
exit-latency-us = <376>;
min-residency-us = <1182>;
local-timer-stop;
};
BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
compatible = "arm,idle-state";
idle-state-name = "gold-rail-power-collapse";
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <297>;
exit-latency-us = <324>;
min-residency-us = <1110>;
local-timer-stop;
};
};
domain-idle-states {
CLUSTER_0_SLEEP_0: cluster-sleep-0-0 {
/* GDHS */
compatible = "domain-idle-state";
arm,psci-suspend-param = <0x40000022>;
entry-latency-us = <360>;
exit-latency-us = <421>;
min-residency-us = <782>;
};
CLUSTER_0_SLEEP_1: cluster-sleep-0-1 {
/* Power Collapse */
compatible = "domain-idle-state";
arm,psci-suspend-param = <0x41000044>;
entry-latency-us = <800>;
exit-latency-us = <2118>;
min-residency-us = <7376>;
};
CLUSTER_1_SLEEP_0: cluster-sleep-1-0 {
/* GDHS */
compatible = "domain-idle-state";
arm,psci-suspend-param = <0x40000042>;
entry-latency-us = <314>;
exit-latency-us = <345>;
min-residency-us = <660>;
};
CLUSTER_1_SLEEP_1: cluster-sleep-1-1 {
/* Power Collapse */
compatible = "domain-idle-state";
arm,psci-suspend-param = <0x41000044>;
entry-latency-us = <640>;
exit-latency-us = <1654>;
min-residency-us = <8094>;
};
};
};
firmware {
@ -201,6 +279,64 @@
psci {
compatible = "arm,psci-1.0";
method = "smc";
CPU_PD0: power-domain-cpu0 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_0_PD>;
domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
};
CPU_PD1: power-domain-cpu1 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_0_PD>;
domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
};
CPU_PD2: power-domain-cpu2 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_0_PD>;
domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
};
CPU_PD3: power-domain-cpu3 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_0_PD>;
domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
};
CPU_PD4: power-domain-cpu4 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_1_PD>;
domain-idle-states = <&BIG_CPU_SLEEP_0>;
};
CPU_PD5: power-domain-cpu5 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_1_PD>;
domain-idle-states = <&BIG_CPU_SLEEP_0>;
};
CPU_PD6: power-domain-cpu6 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_1_PD>;
domain-idle-states = <&BIG_CPU_SLEEP_0>;
};
CPU_PD7: power-domain-cpu7 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_1_PD>;
domain-idle-states = <&BIG_CPU_SLEEP_0>;
};
CLUSTER_0_PD: power-domain-cpu-cluster0 {
#power-domain-cells = <0>;
domain-idle-states = <&CLUSTER_0_SLEEP_0>, <&CLUSTER_0_SLEEP_1>;
};
CLUSTER_1_PD: power-domain-cpu-cluster1 {
#power-domain-cells = <0>;
domain-idle-states = <&CLUSTER_1_SLEEP_0>, <&CLUSTER_1_SLEEP_1>;
};
};
reserved_memory: reserved-memory {
@ -661,6 +797,62 @@
status = "disabled";
};
cryptobam: dma-controller@1b04000 {
compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
reg = <0x0 0x01b04000 0x0 0x24000>;
interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&rpmcc RPM_SMD_CE1_CLK>;
clock-names = "bam_clk";
#dma-cells = <1>;
qcom,ee = <0>;
qcom,controlled-remotely;
iommus = <&apps_smmu 0x92 0>,
<&apps_smmu 0x94 0x11>,
<&apps_smmu 0x96 0x11>,
<&apps_smmu 0x98 0x1>,
<&apps_smmu 0x9F 0>;
};
crypto: crypto@1b3a000 {
compatible = "qcom,sm6115-qce", "qcom,ipq4019-qce", "qcom,qce";
reg = <0x0 0x01b3a000 0x0 0x6000>;
clocks = <&rpmcc RPM_SMD_CE1_CLK>;
clock-names = "core";
dmas = <&cryptobam 6>, <&cryptobam 7>;
dma-names = "rx", "tx";
iommus = <&apps_smmu 0x92 0>,
<&apps_smmu 0x94 0x11>,
<&apps_smmu 0x96 0x11>,
<&apps_smmu 0x98 0x1>,
<&apps_smmu 0x9F 0>;
};
usb_qmpphy: phy@1615000 {
compatible = "qcom,sm6115-qmp-usb3-phy";
reg = <0x0 0x01615000 0x0 0x1000>;
clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
<&gcc GCC_USB3_PRIM_CLKREF_CLK>,
<&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
<&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
clock-names = "cfg_ahb",
"ref",
"com_aux",
"pipe";
resets = <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>,
<&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>;
reset-names = "phy", "phy_phy";
#clock-cells = <0>;
clock-output-names = "usb3_phy_pipe_clk_src";
#phy-cells = <0>;
status = "disabled";
};
qfprom@1b40000 {
compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
reg = <0x0 0x01b40000 0x0 0x7000>;
@ -698,7 +890,7 @@
#interrupt-cells = <4>;
};
tsens0: thermal-sensor@4410000 {
tsens0: thermal-sensor@4411000 {
compatible = "qcom,sm6115-tsens", "qcom,tsens-v2";
reg = <0x0 0x04411000 0x0 0x1ff>, /* TM */
<0x0 0x04410000 0x0 0x8>; /* SROT */
@ -1111,8 +1303,8 @@
compatible = "snps,dwc3";
reg = <0x0 0x04e00000 0x0 0xcd00>;
interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usb_hsphy>;
phy-names = "usb2-phy";
phys = <&usb_hsphy>, <&usb_qmpphy>;
phy-names = "usb2-phy", "usb3-phy";
iommus = <&apps_smmu 0x120 0x0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;

View File

@ -306,6 +306,9 @@
&usb_dwc3 {
maximum-speed = "high-speed";
dr_mode = "peripheral";
phys = <&usb_hsphy>;
phy-names = "usb2-phy";
};
&usb_hsphy {

View File

@ -138,7 +138,7 @@
pinctrl-names = "default";
pinctrl-0 = <&camera_flash_therm &emmc_ufs_therm>;
adc-chan@4d {
channel@4d {
reg = <ADC5_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
@ -146,7 +146,7 @@
label = "rf_pa0_therm";
};
adc-chan@4e {
channel@4e {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
@ -154,7 +154,7 @@
label = "quiet_therm";
};
adc-chan@52 {
channel@52 {
reg = <ADC5_GPIO1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
@ -162,7 +162,7 @@
label = "camera_flash_therm";
};
adc-chan@54 {
channel@54 {
reg = <ADC5_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;

View File

@ -364,7 +364,7 @@
hwlocks = <&tcsr_mutex 3>;
};
soc {
soc@0 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00 0x00 0x00 0xffffffff>;

View File

@ -1891,28 +1891,6 @@
};
};
wifi: wifi@18800000 {
compatible = "qcom,wcn3990-wifi";
reg = <0 0x18800000 0 0x800000>;
reg-names = "membase";
memory-region = <&wlan_fw_mem>;
interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
iommus = <&apps_smmu 0x20 0x1>;
qcom,msa-fixed-perm;
status = "disabled";
};
apps_rsc: rsc@18200000 {
compatible = "qcom,rpmh-rsc";
label = "apps_rsc";
@ -2010,6 +1988,28 @@
#freq-domain-cells = <1>;
#clock-cells = <1>;
};
wifi: wifi@18800000 {
compatible = "qcom,wcn3990-wifi";
reg = <0 0x18800000 0 0x800000>;
reg-names = "membase";
memory-region = <&wlan_fw_mem>;
interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
iommus = <&apps_smmu 0x20 0x1>;
qcom,msa-fixed-perm;
status = "disabled";
};
};
timer {

View File

@ -6,6 +6,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8150.dtsi"
#include "pm8150.dtsi"
@ -81,6 +82,66 @@
};
};
cam0_vdig_vreg: cam0-vdig-regulator {
compatible = "regulator-fixed";
regulator-name = "camera0_vdig_vreg";
gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&main_cam_pwr_en>;
pinctrl-names = "default";
};
cam1_vdig_vreg: cam1-vdig-regulator {
compatible = "regulator-fixed";
regulator-name = "camera1_vdig_vreg";
gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&sub_cam_pwr_en>;
pinctrl-names = "default";
};
cam2_vdig_vreg: cam2-vdig-regulator {
compatible = "regulator-fixed";
regulator-name = "camera2_vdig_vreg";
gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&chat_cam_pwr_en>;
pinctrl-names = "default";
};
cam3_vdig_vreg: cam3-vdig-regulator {
compatible = "regulator-fixed";
regulator-name = "camera3_vdig_vreg";
gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&supwc_pwr_en>;
pinctrl-names = "default";
};
cam_vmdr_vreg: cam-vmdr-regulator {
compatible = "regulator-fixed";
regulator-name = "camera_vmdr_vreg";
gpio = <&pm8150l_gpios 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&main_cam_pwr_vmdr_en>;
pinctrl-names = "default";
};
rgbcir_vreg: rgbcir-regulator {
compatible = "regulator-fixed";
regulator-name = "rgbcir_vreg";
gpio = <&tlmm 29 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&rgbc_ir_pwr_en>;
pinctrl-names = "default";
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
@ -456,6 +517,17 @@
};
&pm8150_gpios {
gpio-line-names = "VOL_DOWN_N", /* GPIO_1 */
"",
"NC",
"NC",
"",
"NC",
"SUPWC_PWR_EN",
"",
"NC",
"NC"; /* GPIO_10 */
vol_down_n: vol-down-n-state {
pins = "gpio1";
function = "normal";
@ -463,9 +535,31 @@
bias-pull-up;
input-enable;
};
supwc_pwr_en: supwc-pwr-en-state {
pins = "gpio7";
function = "normal";
qcom,drive-strength = <1>;
power-source = <1>;
drive-push-pull;
output-low;
};
};
&pm8150b_gpios {
gpio-line-names = "SNAPSHOT_N", /* GPIO_1 */
"FOCUS_N",
"NC",
"NC",
"RF_LCD_ID_EN",
"NC",
"TS_VDDH_EN",
"LCD_ID",
"",
"NC", /* GPIO_10 */
"NC",
"RF_ID";
snapshot_n: snapshot-n-state {
pins = "gpio1";
function = "normal";
@ -483,6 +577,30 @@
};
};
&pm8150l_gpios {
gpio-line-names = "TS_VDDIO_EN", /* GPIO_1 */
"NC",
"MAIN_CAM_PWR_VMDR_EN",
"NC",
"",
"NC",
"NC",
"FP_LDO_EN",
"NC",
"NC", /* GPIO_10 */
"NC",
"NC";
main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
pins = "gpio3";
function = "normal";
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
power-source = <0>;
drive-push-pull;
output-low;
};
};
&pon_pwrkey {
status = "okay";
};
@ -500,8 +618,225 @@
status = "okay";
};
&sdhc_2 {
vmmc-supply = <&vreg_l9c_2p9>;
vqmmc-supply = <&vreg_l6c_2p9>;
cd-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
bus-width = <4>;
no-sdio;
no-mmc;
status = "okay";
};
&tlmm {
gpio-reserved-ranges = <126 4>;
gpio-line-names = "NFC_ESE_SPI_MISO", /* GPIO_0 */
"NFC_ESE_SPI_MOSI",
"NFC_ESE_SPI_SCLK",
"NFC_ESE_SPI_CS_N",
"NC",
"NC",
"DISP_RESET_N",
"DEBUG_GPIO0",
"MDP_VSYNC_P",
"TS_I2C_SDA",
"TS_I2C_SCL", /* GPIO_10 */
"CAM_SOF",
"CAM2_RST_N",
"CAM_MCLK0",
"CAM_MCLK1",
"CAM_MCLK2",
"CAM_MCLK3",
"CCI_I2C_SDA0",
"CCI_I2C_SCL0",
"CCI_I2C_SDA1",
"CCI_I2C_SCL1", /* GPIO_20 */
"NC",
"MAIN_CAM_PWR_EN",
"CAM3_RST_N",
"NC",
"CHAT_CAM_PWR_EN",
"NC",
"NC",
"CAM0_RST_N",
"RGBC_IR_PWR_EN",
"CAM1_RST_N", /* GPIO_30 */
"CCI_I2C_SDA2",
"CCI_I2C_SCL2",
"CCI_I2C_SDA3",
"CCI_I2C_SCL3",
"NC",
"DEBUG_GPIO1",
"RGBC_IR_INT",
"USB_CC_DIR",
"NC",
"NC", /* GPIO_40 */
"NFC_EN",
"NFC_ESE_PWR_REQ",
"BT_HCI_UART_CTS_N",
"BT_HCI_UART_RFR_N",
"BT_HCI_UART_TXD",
"BT_HCI_UART_RXD",
"NFC_IRQ",
"NFC_DWL_REQ",
"UIM2_DETECT_EN",
"WLAN_SW_CTRL", /* GPIO_50 */
"APPS_I2C_SDA",
"APPS_I2C_SCL",
"NC",
"TS_RESET_N",
"NC",
"NC",
"NC",
"NC",
"HW_ID_0",
"NC", /* GPIO_60 */
"QLINK_REQUEST",
"QLINK_ENABLE",
"WMSS_RESET_N",
"SDM_GRFC_8",
"WDOG_DISABLE",
"NC",
"NC",
"PA_INDICATOR_OR",
"MSS_LTE_COXM_TXD",
"MSS_LTE_COXM_RXD", /* GPIO_70 */
"SDM_RFFE0_DATA",
"SDM_RFFE0_CLK",
"SDM_RFFE1_DATA",
"SDM_RFFE1_CLK",
"SDM_RFFE2_DATA",
"SDM_RFFE2_CLK",
"SDM_RFFE3_DATA",
"SDM_RFFE3_CLK",
"SUB_CAM_PWR_EN",
"FP_RESET_N", /* GPIO_80 */
"NC",
"NC",
"NC",
"NC",
"DEBUG_UART_TX",
"DEBUG_UART_RX",
"DVDT_WRT_DET_AND",
"NC",
"NC",
"NC", /* GPIO_90 */
"NC",
"NC",
"NC",
"NC",
"UDON_SWITCH_SEL",
"SD_CARD_DET_N",
"NC",
"CAMSENSOR_I2C_SDA",
"CAMSENSOR_I2C_SCL",
"USB_AUDIO_EN1", /* GPIO_100 */
"DISP_ERR_FG",
"NC",
"NC",
"NC",
"UIM2_DATA",
"UIM2_CLK",
"UIM2_RESET",
"UIM2_DET",
"UIM1_DATA",
"UIM1_CLK", /* GPIO_110 */
"UIM1_RESET",
"UIM1_PRESENT",
"NFC_CLK_REQ",
"SW_SERVICE",
"NC",
"RF_ID_EXTENSION",
"ALS_PROX_INT_N",
"FP_INT",
"DVDT_WRT_DET_OR",
"BAROMETER_INT", /* GPIO_120 */
"ACC_COVER_OPEN",
"TS_INT_N",
"CODEC_INT1_N",
"CODEC_INT2_N",
"TX_GTR_THRES_IN",
"FP_SPI_MISO",
"FP_SPI_MOSI",
"FP_SPI_SCLK",
"FP_SPI_CS_N",
"NC", /* GPIO_130 */
"DVDT_ENABLE",
"ACCEL_INT",
"NC",
"MAG_INT_N",
"NC",
"FORCED_USB_BOOT",
"NC",
"NC",
"HW_ID_1",
"NC", /* GPIO_140 */
"NC",
"NC",
"CODEC_RST_N",
"CDC_SPI_MISO",
"CDC_SPI_MOSI",
"CDC_SPI_SCLK",
"CDC_SPI_CS_N",
"NC",
"LPASS_SLIMBUS_CLK",
"LPASS_SLIMBUS_DATA0", /* GPIO_150 */
"LPASS_SLIMBUS_DATA1",
"USB_AUDIO_EN2",
"BT_FM_SLIMBUS_DATA",
"BT_FM_SLIMBUS_CLK",
"COMPASS_I2C_SDA",
"COMPASS_I2C_SCL",
"SSC_SPI_1_MISO",
"SSC_SPI_1_MOSI",
"SSC_SPI_1_CLK",
"SSC_SPI_1_CS_N", /* GPIO_160 */
"SSC_SENSOR_I2C_SDA",
"SSC_SENSOR_I2C_SCL",
"NC",
"NC",
"NC",
"NC",
"SSC_UART_1_TX",
"SSC_UART_1_RX",
"WL_CMD_CLK_CHAIN0",
"WL_CMD_DATA_CHAIN0", /* GPIO_170 */
"WL_CMD_CLK_CHAIN1",
"WL_CMD_DATA_CHAIN1",
"WL_BT_COEX_CLK",
"WL_BT_COEX_DATA";
main_cam_pwr_en: main-cam-pwr-en-state {
pins = "gpio22";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-low;
};
chat_cam_pwr_en: chat-cam-pwr-en-state {
pins = "gpio25";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-low;
};
rgbc_ir_pwr_en: rgbc-ir-pwr-en-state {
pins = "gpio29";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-low;
};
sub_cam_pwr_en: sub-cam-pwr-en-state {
pins = "gpio79";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
};
&uart2 {

View File

@ -1353,14 +1353,11 @@
uart9: serial@a84000 {
compatible = "qcom,geni-uart";
reg = <0x0 0x00a84000 0x0 0x4000>;
reg-names = "se";
clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
clock-names = "se";
pinctrl-0 = <&qup_uart9_default>;
pinctrl-names = "default";
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
@ -1817,7 +1814,7 @@
};
pcie0: pci@1c00000 {
compatible = "qcom,pcie-sm8150", "snps,dw-pcie";
compatible = "qcom,pcie-sm8150";
reg = <0 0x01c00000 0 0x3000>,
<0 0x60000000 0 0xf1d>,
<0 0x60000f20 0 0xa8>,
@ -1912,7 +1909,7 @@
};
pcie1: pci@1c08000 {
compatible = "qcom,pcie-sm8150", "snps,dw-pcie";
compatible = "qcom,pcie-sm8150";
reg = <0 0x01c08000 0 0x3000>,
<0 0x40000000 0 0xf1d>,
<0 0x40000f20 0 0xa8>,
@ -2088,6 +2085,36 @@
};
};
cryptobam: dma-controller@1dc4000 {
compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
reg = <0 0x01dc4000 0 0x24000>;
interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
qcom,ee = <0>;
qcom,controlled-remotely;
num-channels = <8>;
qcom,num-ees = <2>;
iommus = <&apps_smmu 0x502 0x0641>,
<&apps_smmu 0x504 0x0011>,
<&apps_smmu 0x506 0x0011>,
<&apps_smmu 0x508 0x0011>,
<&apps_smmu 0x512 0x0000>;
};
crypto: crypto@1dfa000 {
compatible = "qcom,sm8150-qce", "qcom,qce";
reg = <0 0x01dfa000 0 0x6000>;
dmas = <&cryptobam 4>, <&cryptobam 5>;
dma-names = "rx", "tx";
iommus = <&apps_smmu 0x502 0x0641>,
<&apps_smmu 0x504 0x0011>,
<&apps_smmu 0x506 0x0011>,
<&apps_smmu 0x508 0x0011>,
<&apps_smmu 0x512 0x0000>;
interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 &mc_virt SLAVE_EBI_CH0>;
interconnect-names = "memory";
};
tcsr_mutex: hwlock@1f40000 {
compatible = "qcom,tcsr-mutex";
reg = <0x0 0x01f40000 0x0 0x20000>;
@ -3977,7 +4004,7 @@
};
apps_smmu: iommu@15000000 {
compatible = "qcom,sm8150-smmu-500", "arm,mmu-500";
compatible = "qcom,sm8150-smmu-500", "qcom,smmu-500", "arm,mmu-500";
reg = <0 0x15000000 0 0x100000>;
#iommu-cells = <2>;
#global-interrupts = <1>;

View File

@ -672,3 +672,8 @@
vdda-phy-supply = <&vreg_l9a_1p2>;
vdda-pll-supply = <&vreg_l18a_0p9>;
};
&venus {
firmware-name = "qcom/sm8250/Sony/edo/venus.mbn";
status = "okay";
};

View File

@ -504,7 +504,6 @@
remote-endpoint = <&dsi1_out>;
};
};
};
};
};

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