Commit 1cb00f8c authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'qcom-arm64-for-5.8' of...

Merge tag 'qcom-arm64-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm ARM64 DT updates for v5.8

For SDM845 this defines the IPA network accelerator and the CCI camera
control bus, it defines the required UFS reset and adds WiFi for the
Lenovo Yoga C630 and defines GPIO pin names and adds OV8856 and OC7251
camera nodes for DB845c.

For SC7180 it adds GPU support, defines the modem remoteproc, adds the
IPA network accelerator, Coresight and ETM support, adds cpuidle low
power states and updates the CPUs' compatible.

For SM8250 it adds regulators from the PM8150, PM8150L and PM8009 and
adds voltage corners, it defines the nodes for UFS PHY and controller
and finally corrects a typo in the PDC node to make SPMI functional.

For MSM8916 I2C1 and I2C5 are defined, a node for the CCI camera control
interface bus is added and Coresight is disabled by default to match
some product configurations. The Samsung A3U gained display support and
Samsung A5U gained touchscreen support.

MSM8996 now property describes the power supply chain for the GPU, the
CCI camera control interface bus is added and the DB820c has the
regulators of the secondary PMIC defined.

For QCS404 USB PHYs and controllers are defined and wired up for the
EVB.

SDM630/SDM660 platform support is added and the Xiaomi Redmi Note 7
defined.

It also contains a number of changes throughout to improve DT binding
compliance.

* tag 'qcom-arm64-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (68 commits)
  arm64: dts: qcom: sc7180: Correct the pdc interrupt ranges
  arm64: dts: qcom: sc7180: add IPA information
  arm64: dts: qcom: sc7180: Fix ETMv4 power management patch
  arm64: dts: qcom: sc7180: Add A618 gpu dt blob
  dt-bindings: arm-smmu: Add sc7180 compatible string
  arm64: dts: qcom: msm8996: Make GPU node control GPU_GX GDSC
  arm64: dts: qcom: db820c: Add vdd_gfx and tie it into mmcc
  arm64: dts: qcom: apq8016-sbc: merge -pins.dtsi into main .dtsi
  arm64: dts: qcom: msm8916: move gpu opp table to gpu node
  arm64: dts: qcom: msm8916: avoid using _ in node names
  arm64: dts: qcom: c630: Specify UFS device reset
  arm64: dts: qcom: c630: Add WiFi node
  arm64: dts: qcom: msm8916-samsung-a3u: add nodes for display panel
  arm64: dts: qcom: db820c: Fix invalid pm8994 supplies
  arm64: dts: qcom: db820c: Add pmi8994 RPM regulators
  arm64: dts: qcom: msm8916: Disable coresight by default
  arm64: dts: qcom: sc7180: Add "no-map" to cmd_db reserved area
  arm64: dts: qcom: msm8916-samsung-a5u: Add touchscreen
  arm64: dts: qcom: msm8916-samsung-a2015: Add touchscreen regulator
  arm64: dts: qcom: msm8916: Add blsp_i2c5
  ...

Link: https://lore.kernel.org/r/20200519052528.1249950-1-bjorn.andersson@linaro.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents a9418e89 7d2f29e4
......@@ -167,6 +167,7 @@ properties:
- qcom,kryo260
- qcom,kryo280
- qcom,kryo385
- qcom,kryo468
- qcom,kryo485
- qcom,scorpion
......
......@@ -37,6 +37,8 @@ description: |
msm8994
msm8996
sc7180
sdm630
sdm660
sdm845
The 'board' element must be one of the following strings:
......@@ -153,6 +155,11 @@ properties:
- qcom,sc7180-idp
- const: qcom,sc7180
- items:
- enum:
- xiaomi,lavender
- const: qcom,sdm660
- items:
- enum:
- qcom,ipq6018-cp01-c1
......
......@@ -28,6 +28,7 @@ properties:
- enum:
- qcom,msm8996-smmu-v2
- qcom,msm8998-smmu-v2
- qcom,sc7180-smmu-v2
- qcom,sdm845-smmu-v2
- const: qcom,smmu-v2
......
......@@ -16,6 +16,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-hp-envy-x2.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-lenovo-miix-630.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r3.dtb
......
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
&pm8916_gpios {
usb_hub_reset_pm: usb_hub_reset_pm {
pinconf {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
input-disable;
output-high;
};
};
usb_hub_reset_pm_device: usb_hub_reset_pm_device {
pinconf {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
output-low;
};
};
usb_sw_sel_pm: usb_sw_sel_pm {
pinconf {
pins = "gpio4";
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <PM8916_GPIO_VPH>;
input-disable;
output-high;
};
};
usb_sw_sel_pm_device: usb_sw_sel_pm_device {
pinconf {
pins = "gpio4";
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <PM8916_GPIO_VPH>;
input-disable;
output-low;
};
};
pm8916_gpios_leds: pm8916_gpios_leds {
pinconf {
pins = "gpio1", "gpio2";
function = PMIC_GPIO_FUNC_NORMAL;
output-low;
};
};
};
&pm8916_mpps {
pinctrl-names = "default";
pinctrl-0 = <&ls_exp_gpio_f>;
ls_exp_gpio_f: pm8916_mpp4 {
pinconf {
pins = "mpp4";
function = "digital";
output-low;
power-source = <PM8916_MPP_L5>; // 1.8V
};
};
pm8916_mpps_leds: pm8916_mpps_leds {
pinconf {
pins = "mpp2", "mpp3";
function = "digital";
output-low;
};
};
};
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/gpio/gpio.h>
&msmgpio {
msmgpio_leds: msmgpio_leds {
pinconf {
pins = "gpio21", "gpio120";
function = "gpio";
output-low;
};
};
usb_id_default: usb-id-default {
pinmux {
function = "gpio";
pins = "gpio121";
};
pinconf {
pins = "gpio121";
drive-strength = <8>;
input-enable;
bias-pull-up;
};
};
adv7533_int_active: adv533_int_active {
pinmux {
function = "gpio";
pins = "gpio31";
};
pinconf {
pins = "gpio31";
drive-strength = <16>;
bias-disable;
};
};
adv7533_int_suspend: adv7533_int_suspend {
pinmux {
function = "gpio";
pins = "gpio31";
};
pinconf {
pins = "gpio31";
drive-strength = <2>;
bias-disable;
};
};
adv7533_switch_active: adv7533_switch_active {
pinmux {
function = "gpio";
pins = "gpio32";
};
pinconf {
pins = "gpio32";
drive-strength = <16>;
bias-disable;
};
};
adv7533_switch_suspend: adv7533_switch_suspend {
pinmux {
function = "gpio";
pins = "gpio32";
};
pinconf {
pins = "gpio32";
drive-strength = <2>;
bias-disable;
};
};
msm_key_volp_n_default: msm_key_volp_n_default {
pinmux {
function = "gpio";
pins = "gpio107";
};
pinconf {
pins = "gpio107";
drive-strength = <8>;
input-enable;
bias-pull-up;
};
};
};
......@@ -5,10 +5,10 @@
#include "msm8916.dtsi"
#include "pm8916.dtsi"
#include "apq8016-sbc-soc-pins.dtsi"
#include "apq8016-sbc-pmic-pins.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
#include <dt-bindings/sound/apq8016-lpass.h>
/*
......@@ -51,6 +51,30 @@ chosen {
stdout-path = "serial0";
};
camera_vdddo_1v8: camera-vdddo-1v8 {
compatible = "regulator-fixed";
regulator-name = "camera_vdddo";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
camera_vdda_2v8: camera-vdda-2v8 {
compatible = "regulator-fixed";
regulator-name = "camera_vdda";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
camera_vddd_1v5: camera-vddd-1v5 {
compatible = "regulator-fixed";
regulator-name = "camera_vddd";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
reserved-memory {
ramoops@bff00000{
compatible = "ramoops";
......@@ -495,6 +519,27 @@ mpps@a000 {
wcnss@a21b000 {
status = "okay";
};
tpiu@820000 { status = "okay"; };
funnel@821000 { status = "okay"; };
replicator@824000 { status = "okay"; };
etf@825000 { status = "okay"; };
etr@826000 { status = "okay"; };
funnel@841000 { status = "okay"; };
debug@850000 { status = "okay"; };
debug@852000 { status = "okay"; };
debug@854000 { status = "okay"; };
debug@856000 { status = "okay"; };
etm@85c000 { status = "okay"; };
etm@85d000 { status = "okay"; };
etm@85e000 { status = "okay"; };
etm@85f000 { status = "okay"; };
cti@810000 { status = "okay"; };
cti@811000 { status = "okay"; };
cti@858000 { status = "okay"; };
cti@859000 { status = "okay"; };
cti@85a000 { status = "okay"; };
cti@85b000 { status = "okay"; };
};
usb2513 {
......@@ -521,7 +566,7 @@ hdmi_con: endpoint {
};
};
gpio_keys {
gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
......@@ -538,6 +583,58 @@ button@0 {
};
};
&camss {
status = "ok";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
csiphy0_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 2>;
remote-endpoint = <&ov5640_ep>;
status = "okay";
};
};
};
};
&cci {
status = "ok";
};
&cci_i2c0 {
camera_rear@3b {
compatible = "ovti,ov5640";
reg = <0x3b>;
enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&camera_rear_default>;
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "xclk";
clock-frequency = <23880000>;
vdddo-supply = <&camera_vdddo_1v8>;
vdda-supply = <&camera_vdda_2v8>;
vddd-supply = <&camera_vddd_1v5>;
/* No camera mezzanine by default */
status = "disabled";
port {
ov5640_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 2>;
remote-endpoint = <&csiphy0_ep>;
};
};
};
};
&spmi_bus {
pm8916_0: pm8916@0 {
pon@800 {
......@@ -680,3 +777,157 @@ l18 {
regulator-max-microvolt = <3337000>;
};
};
&msmgpio {
msmgpio_leds: msmgpio-leds {
pinconf {
pins = "gpio21", "gpio120";
function = "gpio";
output-low;
};
};
usb_id_default: usb-id-default {
pinmux {
function = "gpio";
pins = "gpio121";
};
pinconf {
pins = "gpio121";
drive-strength = <8>;
input-enable;
bias-pull-up;
};
};
adv7533_int_active: adv533-int-active {
pinmux {
function = "gpio";
pins = "gpio31";
};
pinconf {
pins = "gpio31";
drive-strength = <16>;
bias-disable;
};
};
adv7533_int_suspend: adv7533-int-suspend {
pinmux {
function = "gpio";
pins = "gpio31";
};
pinconf {
pins = "gpio31";
drive-strength = <2>;
bias-disable;
};
};
adv7533_switch_active: adv7533-switch-active {
pinmux {
function = "gpio";
pins = "gpio32";
};
pinconf {
pins = "gpio32";
drive-strength = <16>;
bias-disable;
};
};
adv7533_switch_suspend: adv7533-switch-suspend {
pinmux {
function = "gpio";
pins = "gpio32";
};
pinconf {
pins = "gpio32";
drive-strength = <2>;
bias-disable;
};
};
msm_key_volp_n_default: msm-key-volp-n-default {
pinmux {
function = "gpio";
pins = "gpio107";
};
pinconf {
pins = "gpio107";
drive-strength = <8>;
input-enable;
bias-pull-up;
};
};
};
&pm8916_gpios {
usb_hub_reset_pm: usb-hub-reset-pm {
pinconf {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
input-disable;
output-high;
};
};
usb_hub_reset_pm_device: usb-hub-reset-pm-device {
pinconf {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
output-low;
};
};
usb_sw_sel_pm: usb-sw-sel-pm {
pinconf {
pins = "gpio4";
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <PM8916_GPIO_VPH>;
input-disable;
output-high;
};
};
usb_sw_sel_pm_device: usb-sw-sel-pm-device {
pinconf {
pins = "gpio4";
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <PM8916_GPIO_VPH>;
input-disable;
output-low;
};
};
pm8916_gpios_leds: pm8916-gpios-leds {
pinconf {
pins = "gpio1", "gpio2";
function = PMIC_GPIO_FUNC_NORMAL;
output-low;
};
};
};
&pm8916_mpps {
pinctrl-names = "default";
pinctrl-0 = <&ls_exp_gpio_f>;
ls_exp_gpio_f: pm8916-mpp4 {
pinconf {
pins = "mpp4";
function = "digital";
output-low;
power-source = <PM8916_MPP_L5>; // 1.8V
};
};
pm8916_mpps_leds: pm8916-mpps-leds {
pinconf {
pins = "mpp2", "mpp3";
function = "digital";
output-low;
};
};
};
......@@ -117,16 +117,6 @@ vph_pwr: vph-pwr-regulator {
regulator-max-microvolt = <3700000>;
};
vreg_s8a_l3a_input: vreg-s8a-l3a-input {
compatible = "regulator-fixed";
regulator-name = "vreg_s8a_l3a_input";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0>;
regulator-max-microvolt = <0>;
};
wlan_en: wlan-en-1-8v {
pinctrl-names = "default";
pinctrl-0 = <&wlan_en_gpios>;
......@@ -251,6 +241,10 @@ &mdss {
status = "okay";
};
&mmcc {
vdd-gfx-supply = <&vdd_gfx>;
};
&msmgpio {
gpio-line-names =
"[SPI0_DOUT]", /* GPIO_0, BLSP1_SPI_MOSI, LSEC pin 14 */
......@@ -688,6 +682,15 @@ pinconf {
};
};
&pmi8994_spmi_regulators {
vdd_gfx: s2@1700 {
reg = <0x1700 0x100>;
regulator-name = "VDD_GFX";
regulator-min-microvolt = <980000>;
regulator-max-microvolt = <980000>;
};
};
&rpm_requests {
pm8994-regulators {
compatible = "qcom,rpm-pm8994-regulators";
......@@ -704,15 +707,20 @@ pm8994-regulators {
vdd_s10-supply = <&vph_pwr>;
vdd_s11-supply = <&vph_pwr>;
vdd_s12-supply = <&vph_pwr>;
vdd_l1-supply = <&vreg_s1b_1p025>;
vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
vdd_l3_l11-supply = <&vreg_s8a_l3a_input>;
vdd_l3_l11-supply = <&vreg_s3a_1p3>;
vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
vdd_l5_l7-supply = <&vreg_s5a_2p15>;
vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
vdd_l8_l16_l30-supply = <&vph_pwr>;
vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
vdd_l14_l15-supply = <&vreg_s5a_2p15>;
vdd_l17_l29-supply = <&vph_pwr_bbyp>;
vdd_l20_l21-supply = <&vph_pwr_bbyp>;
vdd_l25-supply = <&vreg_s3a_1p3>;
vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
vreg_s3a_1p3: s3 {
regulator-name = "vreg_s3a_1p3";
......@@ -895,6 +903,27 @@ vreg_lvs2a_1p8: lvs2 {
regulator-name = "vreg_lvs2a_1p8";
};
};
pmi8994-regulators {
compatible = "qcom,rpm-pmi8994-regulators";
vdd_s1-supply = <&vph_pwr>;
vdd_s2-supply = <&vph_pwr>;
vdd_s3-supply = <&vph_pwr>;
vdd_bst_byp-supply = <&vph_pwr>;
vph_pwr_bbyp: boost-bypass {
regulator-name = "vph_pwr_bbyp";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vreg_s1b_1p025: s1 {
regulator-name = "vreg_s1b_1p025";
regulator-min-microvolt = <1025000>;
regulator-max-microvolt = <1025000>;
};
};
};
&sdhc2 {
......
......@@ -24,63 +24,61 @@ memory {
device_type = "memory";
reg = <0x0 0x40000000 0x0 0x20000000>;
};
};
&blsp1_i2c2 {
status = "ok";
};
&blsp1_spi1 {
status = "ok";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
};
};
&blsp1_uart3 {
status = "ok";
};
&blsp1_uart5 {
status = "ok";
};
&pcie0 {
status = "ok";
perst-gpio = <&tlmm 61 0x1>;
};
&pcie1 {
status = "ok";
perst-gpio = <&tlmm 58 0x1>;
};
&pcie_phy0 {
status = "ok";
};
&pcie_phy1 {
status = "ok";
};
&qpic_bam {
status = "ok";
};
&qpic_nand {
status = "ok";
soc {
serial@78b3000 {
status = "ok";
};
spi@78b5000 {
status = "ok";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
};
};
serial@78b1000 {
status = "ok";
};
i2c@78b6000 {
status = "ok";
};
dma@7984000 {
status = "ok";
};
nand@79b0000 {
status = "ok";
nand@0 {
reg = <0>;
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-bus-width = <8>;
};
};
phy@86000 {
status = "ok";
};
phy@8e000 {
status = "ok";
};
pci@20000000 {
status = "ok";
perst-gpio = <&tlmm 58 0x1>;
};
pci@10000000 {
status = "ok";
perst-gpio = <&tlmm 61 0x1>;
};
nand@0 {
reg = <0>;
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-bus-width = <8>;
};
};
This diff is collapsed.
......@@ -82,29 +82,6 @@ phy {
wcnss@a21b000 {
status = "okay";
};
/*
* Attempting to enable these devices causes a "synchronous
* external abort". Suspected cause is that the debug power
* domain is not enabled by default on this device.
* Disable these devices for now to avoid the crash.
*
* See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/
*/
tpiu@820000 { status = "disabled"; };
funnel@821000 { status = "disabled"; };
replicator@824000 { status = "disabled"; };
etf@825000 { status = "disabled"; };
etr@826000 { status = "disabled"; };
funnel@841000 { status = "disabled"; };
debug@850000 { status = "disabled"; };
debug@852000 { status = "disabled"; };
debug@854000 { status = "disabled"; };
debug@856000 { status = "disabled"; };
etm@85c000 { status = "disabled"; };
etm@85d000 { status = "disabled"; };
etm@85e000 { status = "disabled"; };
etm@85f000 { status = "disabled"; };
};
// FIXME: Use extcon device provided by charger driver when available
......@@ -132,7 +109,7 @@ volume-up {
};
&msmgpio {
gpio_keys_default: gpio_keys_default {
gpio_keys_default: gpio-keys-default {
pinmux {
function = "gpio";
pins = "gpio107";
......
This diff is collapsed.
......@@ -72,32 +72,27 @@ phy {
};
};
mdss@1a00000 {
dsi@1a98000 {
#address-cells = <1>;
#size-cells = <0>;
vdda-supply = <&pm8916_l2>;
vddio-supply = <&pm8916_l6>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mdss_default>;
pinctrl-1 = <&mdss_sleep>;
};
dsi-phy@1a98300 {
vddio-supply = <&pm8916_l6>;
};
};
wcnss@a21b000 {
status = "okay";
};
/*
* Attempting to enable these devices causes a "synchronous
* external abort". Suspected cause is that the debug power
* domain is not enabled by default on this device.
* Disable these devices for now to avoid the crash.
*
* See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/
*/
tpiu@820000 { status = "disabled"; };
funnel@821000 { status = "disabled"; };
replicator@824000 { status = "disabled"; };
etf@825000 { status = "disabled"; };
etr@826000 { status = "disabled"; };
funnel@841000 { status = "disabled"; };
debug@850000 { status = "disabled"; };
debug@852000 { status = "disabled"; };
debug@854000 { status = "disabled"; };
debug@856000 { status = "disabled"; };
etm@85c000 { status = "disabled"; };
etm@85d000 { status = "disabled"; };
etm@85e000 { status = "disabled"; };
etm@85f000 { status = "disabled"; };
};
gpio-keys {
......@@ -138,6 +133,19 @@ hall-sensor {
};
};
reg_vdd_tsp: regulator-vdd-tsp {
compatible = "regulator-fixed";
regulator-name = "vdd_tsp";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&tsp_en_default>;
};
i2c-muic {
compatible = "i2c-gpio";
sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
......@@ -160,7 +168,7 @@ muic: sm5502@25 {
};
&msmgpio {
gpio_keys_default: gpio_keys_default {
gpio_keys_default: gpio-keys-default {
pinmux {
function = "gpio";
pins = "gpio107", "gpio109";
......@@ -172,7 +180,7 @@ pinconf {
};
};
gpio_hall_sensor_default: gpio_hall_sensor_default {
gpio_hall_sensor_default: gpio-hall-sensor-default {
pinmux {
function = "gpio";
pins = "gpio52";
......@@ -184,7 +192,7 @@ pinconf {
};
};
muic_int_default: muic_int_default {
muic_int_default: muic-int-default {
pinmux {
function = "gpio";
pins = "gpio12";
......@@ -195,6 +203,44 @@ pinconf {
bias-disable;
};
};
tsp_en_default: tsp-en-default {
pinmux {
function = "gpio";
pins = "gpio73";
};
pinconf {
pins = "gpio73";
drive-strength = <2>;
bias-disable;
};
};
pmx-mdss {
mdss_default: mdss-default {
pinmux {
function = "gpio";
pins = "gpio25";
};
pinconf {
pins = "gpio25";
drive-strength = <8>;
bias-disable;
};
};
mdss_sleep: mdss-sleep {
pinmux {
function = "gpio";
pins = "gpio25";
};
pinconf {
pins = "gpio25";
drive-strength = <2>;
bias-pull-down;
};
};
};
};
&smd_rpm_regulators {
......
......@@ -7,4 +7,58 @@
/ {
model = "Samsung Galaxy A3U (EUR)";
compatible = "samsung,a3u-eur", "qcom,msm8916";
reg_panel_vdd3: regulator-panel-vdd3 {
compatible = "regulator-fixed";
regulator-name = "panel_vdd3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&msmgpio 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&panel_vdd3_default>;
};
};
&dsi0 {
panel@0 {
reg = <0>;
compatible = "samsung,s6e88a0-ams452ef01";
vdd3-supply = <&reg_panel_vdd3>;
vci-supply = <&pm8916_l17>;
reset-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
port {
panel_in: endpoint {
remote-endpoint = <&dsi0_out>;
};
};
};
ports {
port@1 {
dsi0_out: endpoint {
remote-endpoint = <&panel_in>;
data-lanes = <0 1>;
};
};
};
};
&msmgpio {
panel_vdd3_default: panel-vdd3-default {
pinmux {
function = "gpio";
pins = "gpio9";
};
pinconf {
pins = "gpio9";
drive-strength = <2>;
bias-disable;
};
};
};
......@@ -9,8 +9,43 @@ / {
compatible = "samsung,a5u-eur", "qcom,msm8916";
};
&blsp_i2c5 {
status = "okay";
touchscreen@48 {
compatible = "melfas,mms345l";
reg = <0x48>;
interrupt-parent = <&msmgpio>;
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <720>;
touchscreen-size-y = <1280>;
avdd-supply = <&reg_vdd_tsp>;
vdd-supply = <&pm8916_l6>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_default>;
};
};
&pronto {
iris {
compatible = "qcom,wcn3680";
};
};
&msmgpio {
ts_int_default: ts-int-default {
pinmux {
function = "gpio";
pins = "gpio13";
};
pinconf {
pins = "gpio13";
drive-strength = <2>;
bias-disable;
};
};
};
This diff is collapsed.
......@@ -639,7 +639,7 @@ gpu@b00000 {
"mem",
"mem_iface";
power-domains = <&mmcc GPU_GDSC>;
power-domains = <&mmcc GPU_GX_GDSC>;
iommus = <&adreno_smmu 0>;
nvmem-cells = <&gpu_speed_bin>;
......@@ -989,16 +989,16 @@ camss: camss@a00000 {
"csi_clk_mux",
"vfe0",
"vfe1";
interrupts = <GIC_SPI 78 0>,
<GIC_SPI 79 0>,
<GIC_SPI 80 0>,
<GIC_SPI 296 0>,
<GIC_SPI 297 0>,
<GIC_SPI 298 0>,
<GIC_SPI 299 0>,
<GIC_SPI 309 0>,
<GIC_SPI 314 0>,
<GIC_SPI 315 0>;
interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "csiphy0",
"csiphy1",
"csiphy2",
......@@ -1093,6 +1093,43 @@ ports {
};
};
cci: cci@a0c000 {
compatible = "qcom,msm8996-cci";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xa0c000 0x1000>;
interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
power-domains = <&mmcc CAMSS_GDSC>;
clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
<&mmcc CAMSS_CCI_AHB_CLK>,
<&mmcc CAMSS_CCI_CLK>,
<&mmcc CAMSS_AHB_CLK>;
clock-names = "camss_top_ahb",
"cci_ahb",
"cci",
"camss_ahb";
assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
<&mmcc CAMSS_CCI_CLK>;
assigned-clock-rates = <80000000>, <37500000>;
pinctrl-names = "default";
pinctrl-0 = <&cci0_default &cci1_default>;
status = "disabled";
cci_i2c0: i2c-bus@0 {
reg = <0>;
clock-frequency = <400000>;
#address-cells = <1>;
#size-cells = <0>;
};
cci_i2c1: i2c-bus@1 {
reg = <1>;
clock-frequency = <400000>;
#address-cells = <1>;
#size-cells = <0>;
};
};
adreno_smmu: iommu@b40000 {
compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
reg = <0x00b40000 0x10000>;
......@@ -2178,7 +2215,7 @@ cpu0-thermal {
thermal-sensors = <&tsens0 3>;
trips {
cpu0_alert0: trip-point@0 {
cpu0_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -2199,7 +2236,7 @@ cpu1-thermal {
thermal-sensors = <&tsens0 5>;
trips {
cpu1_alert0: trip-point@0 {
cpu1_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -2220,7 +2257,7 @@ cpu2-thermal {
thermal-sensors = <&tsens0 8>;
trips {
cpu2_alert0: trip-point@0 {
cpu2_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -2241,7 +2278,7 @@ cpu3-thermal {
thermal-sensors = <&tsens0 10>;
trips {
cpu3_alert0: trip-point@0 {
cpu3_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -2262,7 +2299,7 @@ gpu-thermal-top {
thermal-sensors = <&tsens1 6>;
trips {
gpu1_alert0: trip-point@0 {
gpu1_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2277,7 +2314,7 @@ gpu-thermal-bottom {
thermal-sensors = <&tsens1 7>;
trips {
gpu2_alert0: trip-point@0 {
gpu2_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2292,7 +2329,7 @@ m4m-thermal {
thermal-sensors = <&tsens0 1>;
trips {
m4m_alert0: trip-point@0 {
m4m_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2307,7 +2344,7 @@ l3-or-venus-thermal {
thermal-sensors = <&tsens0 2>;
trips {
l3_or_venus_alert0: trip-point@0 {
l3_or_venus_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2322,7 +2359,7 @@ cluster0-l2-thermal {
thermal-sensors = <&tsens0 7>;
trips {
cluster0_l2_alert0: trip-point@0 {
cluster0_l2_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2337,7 +2374,7 @@ cluster1-l2-thermal {
thermal-sensors = <&tsens0 12>;
trips {
cluster1_l2_alert0: trip-point@0 {
cluster1_l2_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2352,7 +2389,7 @@ camera-thermal {
thermal-sensors = <&tsens1 1>;
trips {
camera_alert0: trip-point@0 {
camera_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2367,7 +2404,7 @@ q6-dsp-thermal {
thermal-sensors = <&tsens1 2>;
trips {
q6_dsp_alert0: trip-point@0 {
q6_dsp_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2382,7 +2419,7 @@ mem-thermal {
thermal-sensors = <&tsens1 3>;
trips {
mem_alert0: trip-point@0 {
mem_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -2397,7 +2434,7 @@ modemtx-thermal {
thermal-sensors = <&tsens1 4>;
trips {
modemtx_alert0: trip-point@0 {
modemtx_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......
......@@ -500,7 +500,7 @@ cpu0-thermal {
thermal-sensors = <&tsens0 1>;
trips {
cpu0_alert0: trip-point@0 {
cpu0_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -521,7 +521,7 @@ cpu1-thermal {
thermal-sensors = <&tsens0 2>;
trips {
cpu1_alert0: trip-point@0 {
cpu1_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -542,7 +542,7 @@ cpu2-thermal {
thermal-sensors = <&tsens0 3>;
trips {
cpu2_alert0: trip-point@0 {
cpu2_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -563,7 +563,7 @@ cpu3-thermal {
thermal-sensors = <&tsens0 4>;
trips {
cpu3_alert0: trip-point@0 {
cpu3_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -584,7 +584,7 @@ cpu4-thermal {
thermal-sensors = <&tsens0 7>;
trips {
cpu4_alert0: trip-point@0 {
cpu4_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -605,7 +605,7 @@ cpu5-thermal {
thermal-sensors = <&tsens0 8>;
trips {
cpu5_alert0: trip-point@0 {
cpu5_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -626,7 +626,7 @@ cpu6-thermal {
thermal-sensors = <&tsens0 9>;
trips {
cpu6_alert0: trip-point@0 {
cpu6_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -647,7 +647,7 @@ cpu7-thermal {
thermal-sensors = <&tsens0 10>;
trips {
cpu7_alert0: trip-point@0 {
cpu7_alert0: trip-point0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
......@@ -668,7 +668,7 @@ gpu-thermal-bottom {
thermal-sensors = <&tsens0 12>;
trips {
gpu1_alert0: trip-point@0 {
gpu1_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -683,7 +683,7 @@ gpu-thermal-top {
thermal-sensors = <&tsens0 13>;
trips {
gpu2_alert0: trip-point@0 {
gpu2_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -698,7 +698,7 @@ clust0-mhm-thermal {
thermal-sensors = <&tsens0 5>;
trips {
cluster0_mhm_alert0: trip-point@0 {
cluster0_mhm_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -713,7 +713,7 @@ clust1-mhm-thermal {
thermal-sensors = <&tsens0 6>;
trips {
cluster1_mhm_alert0: trip-point@0 {
cluster1_mhm_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -728,7 +728,7 @@ cluster1-l2-thermal {
thermal-sensors = <&tsens0 11>;
trips {
cluster1_l2_alert0: trip-point@0 {
cluster1_l2_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -743,7 +743,7 @@ modem-thermal {
thermal-sensors = <&tsens1 1>;
trips {
modem_alert0: trip-point@0 {
modem_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -758,7 +758,7 @@ mem-thermal {
thermal-sensors = <&tsens1 2>;
trips {
mem_alert0: trip-point@0 {
mem_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -773,7 +773,7 @@ wlan-thermal {
thermal-sensors = <&tsens1 3>;
trips {
wlan_alert0: trip-point@0 {
wlan_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -788,7 +788,7 @@ q6-dsp-thermal {
thermal-sensors = <&tsens1 4>;
trips {
q6_dsp_alert0: trip-point@0 {
q6_dsp_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -803,7 +803,7 @@ camera-thermal {
thermal-sensors = <&tsens1 5>;
trips {
camera_alert0: trip-point@0 {
camera_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......@@ -818,7 +818,7 @@ multimedia-thermal {
thermal-sensors = <&tsens1 6>;
trips {
multimedia_alert0: trip-point@0 {
multimedia_alert0: trip-point0 {
temperature = <90000>;
hysteresis = <2000>;
type = "hot";
......
......@@ -73,18 +73,8 @@ pm8150_gpios: gpio@c000 {
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupts = <0x0 0xc0 0x0 IRQ_TYPE_NONE>,
<0x0 0xc1 0x0 IRQ_TYPE_NONE>,
<0x0 0xc2 0x0 IRQ_TYPE_NONE>,
<0x0 0xc3 0x0 IRQ_TYPE_NONE>,
<0x0 0xc4 0x0 IRQ_TYPE_NONE>,
<0x0 0xc5 0x0 IRQ_TYPE_NONE>,
<0x0 0xc6 0x0 IRQ_TYPE_NONE>,
<0x0 0xc7 0x0 IRQ_TYPE_NONE>,
<0x0 0xc8 0x0 IRQ_TYPE_NONE>,
<0x0 0xc9 0x0 IRQ_TYPE_NONE>,
<0x0 0xca 0x0 IRQ_TYPE_NONE>,
<0x0 0xcb 0x0 IRQ_TYPE_NONE>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
......
......@@ -62,18 +62,8 @@ pm8150b_gpios: gpio@c000 {
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupts = <0x2 0xc0 0x0 IRQ_TYPE_NONE>,
<0x2 0xc1 0x0 IRQ_TYPE_NONE>,
<0x2 0xc2 0x0 IRQ_TYPE_NONE>,
<0x2 0xc3 0x0 IRQ_TYPE_NONE>,
<0x2 0xc4 0x0 IRQ_TYPE_NONE>,
<0x2 0xc5 0x0 IRQ_TYPE_NONE>,
<0x2 0xc6 0x0 IRQ_TYPE_NONE>,
<0x2 0xc7 0x0 IRQ_TYPE_NONE>,
<0x2 0xc8 0x0 IRQ_TYPE_NONE>,
<0x2 0xc9 0x0 IRQ_TYPE_NONE>,
<0x2 0xca 0x0 IRQ_TYPE_NONE>,
<0x2 0xcb 0x0 IRQ_TYPE_NONE>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
......
......@@ -56,18 +56,8 @@ pm8150l_gpios: gpio@c000 {
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupts = <0x4 0xc0 0x0 IRQ_TYPE_NONE>,
<0x4 0xc1 0x0 IRQ_TYPE_NONE>,
<0x4 0xc2 0x0 IRQ_TYPE_NONE>,
<0x4 0xc3 0x0 IRQ_TYPE_NONE>,
<0x4 0xc4 0x0 IRQ_TYPE_NONE>,
<0x4 0xc5 0x0 IRQ_TYPE_NONE>,
<0x4 0xc6 0x0 IRQ_TYPE_NONE>,
<0x4 0xc7 0x0 IRQ_TYPE_NONE>,
<0x4 0xc8 0x0 IRQ_TYPE_NONE>,
<0x4 0xc9 0x0 IRQ_TYPE_NONE>,
<0x4 0xca 0x0 IRQ_TYPE_NONE>,
<0x4 0xcb 0x0 IRQ_TYPE_NONE>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
......
......@@ -26,5 +26,11 @@ pmic@3 {
reg = <0x3 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmi8994_spmi_regulators: regulators {
compatible = "qcom,pmi8994-regulators";
#address-cells = <1>;
#size-cells = <1>;
};
};
};
......@@ -4,6 +4,8 @@
#include <dt-bindings/gpio/gpio.h>
#include "qcs404.dtsi"
#include "pms405.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
/ {
aliases {
......@@ -31,6 +33,21 @@ vdd_esmps3_3p3: vdd-esmps3-3p3-regulator {
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
usb3_vbus_reg: regulator-usb3-vbus {
compatible = "regulator-fixed";
regulator-name = "VBUS_BOOST_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&pms405_gpios 3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_vbus_boost_pin>;
vin-supply = <&vph_pwr>;
enable-active-high;
/* TODO: Drop this when introducing role switching */
regulator-always-on;
};
};
&blsp1_uart3 {
......@@ -186,7 +203,7 @@ vreg_l11_sdc2: l11 {
};
vreg_l12_3p3: l12 {
regulator-min-microvolt = <2968000>;
regulator-min-microvolt = <3050000>;
regulator-max-microvolt = <3300000>;
};
......@@ -270,6 +287,72 @@ rclk {
bias-pull-down;
};
};
usb3_id_pin: usb3-id-pin {
pinmux {
pins = "gpio116";
function = "gpio";
};
pinconf {
pins = "gpio116";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
};
&pms405_gpios {
usb_vbus_boost_pin: usb-vbus-boost-pin {
pinconf {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
output-low;
power-source = <1>;
};
};
usb3_vbus_pin: usb3-vbus-pin {
pinconf {
pins = "gpio12";
function = PMIC_GPIO_FUNC_NORMAL;
input-enable;
bias-pull-down;
power-source = <1>;
};
};
};
&usb2 {
status = "okay";
};
&usb2_phy_sec {
vdd-supply = <&vreg_l4_1p2>;
vdda1p8-supply = <&vreg_l5_1p8>;
vdda3p3-supply = <&vreg_l12_3p3>;
status = "okay";
};
&usb3 {
status = "okay";
dwc3@7580000 {
dr_mode = "host";
};
};
&usb2_phy_prim {
vdd-supply = <&vreg_l4_1p2>;
vdda1p8-supply = <&vreg_l5_1p8>;
vdda3p3-supply = <&vreg_l12_3p3>;
status = "okay";
};
&usb3_phy {
vdd-supply = <&vreg_l3_1p05>;
vdda1p8-supply = <&vreg_l5_1p8>;
status = "okay";
};
&wifi {
......
......@@ -323,6 +323,48 @@ rpm_msg_ram: memory@60000 {
reg = <0x00060000 0x6000>;
};
usb3_phy: phy@78000 {
compatible = "qcom,usb-ss-28nm-phy";
reg = <0x00078000 0x400>;
#phy-cells = <0>;
clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
<&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
<&gcc GCC_USB3_PHY_PIPE_CLK>;
clock-names = "ref", "ahb", "pipe";
resets = <&gcc GCC_USB3_PHY_BCR>,
<&gcc GCC_USB3PHY_PHY_BCR>;
reset-names = "com", "phy";
status = "disabled";
};
usb2_phy_prim: phy@7a000 {
compatible = "qcom,usb-hs-28nm-femtophy";
reg = <0x0007a000 0x200>;
#phy-cells = <0>;
clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
<&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
<&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clock-names = "ref", "ahb", "sleep";
resets = <&gcc GCC_USB_HS_PHY_CFG_AHB_BCR>,
<&gcc GCC_USB2A_PHY_BCR>;
reset-names = "phy", "por";
status = "disabled";
};
usb2_phy_sec: phy@7c000 {
compatible = "qcom,usb-hs-28nm-femtophy";
reg = <0x0007c000 0x200>;
#phy-cells = <0>;
clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
<&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
<&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clock-names = "ref", "ahb", "sleep";
resets = <&gcc GCC_QUSB2_PHY_BCR>,
<&gcc GCC_USB2_HS_PHY_ONLY_BCR>;
reset-names = "phy", "por";
status = "disabled";
};
qfprom: qfprom@a4000 {
compatible = "qcom,qfprom";
reg = <0x000a4000 0x1000>;
......@@ -486,6 +528,64 @@ glink-edge {
};
};
usb3: usb@7678800 {
compatible = "qcom,dwc3";
reg = <0x07678800 0x400>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&gcc GCC_USB30_MASTER_CLK>,
<&gcc GCC_SYS_NOC_USB3_CLK>,
<&gcc GCC_USB30_SLEEP_CLK>,
<&gcc GCC_USB30_MOCK_UTMI_CLK>;
clock-names = "core", "iface", "sleep", "mock_utmi";
assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
<&gcc GCC_USB30_MASTER_CLK>;
assigned-clock-rates = <19200000>, <200000000>;
status = "disabled";
dwc3@7580000 {
compatible = "snps,dwc3";
reg = <0x07580000 0xcd00>;
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usb2_phy_sec>, <&usb3_phy>;
phy-names = "usb2-phy", "usb3-phy";
snps,has-lpm-erratum;
snps,hird-threshold = /bits/ 8 <0x10>;
snps,usb3_lpm_capable;
dr_mode = "otg";
};
};
usb2: usb@79b8800 {
compatible = "qcom,dwc3";
reg = <0x079b8800 0x400>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>,
<&gcc GCC_PCNOC_USB2_CLK>,
<&gcc GCC_USB_HS_INACTIVITY_TIMERS_CLK>,
<&gcc GCC_USB20_MOCK_UTMI_CLK>;
clock-names = "core", "iface", "sleep", "mock_utmi";
assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
<&gcc GCC_USB_HS_SYSTEM_CLK>;
assigned-clock-rates = <19200000>, <133333333>;
status = "disabled";
dwc3@78c0000 {
compatible = "snps,dwc3";
reg = <0x078c0000 0xcc00>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usb2_phy_prim>;
phy-names = "usb2-phy";
snps,has-lpm-erratum;
snps,hird-threshold = /bits/ 8 <0x10>;
snps,usb3_lpm_capable;
dr_mode = "peripheral";
};
};
tlmm: pinctrl@1000000 {
compatible = "qcom,qcs404-pinctrl";
reg = <0x01000000 0x200000>,
......
......@@ -28,6 +28,59 @@ chosen {
};
};
/*
* Reserved memory changes
*
* Delete all unused memory nodes and define the peripheral memory regions
* required by the board dts.
*
*/
/delete-node/ &hyp_mem;
/delete-node/ &xbl_mem;
/delete-node/ &aop_mem;
/delete-node/ &sec_apps_mem;
/delete-node/ &tz_mem;
/* Increase the size from 2MB to 8MB */
&rmtfs_mem {
reg = <0x0 0x84400000 0x0 0x800000>;
};
/ {
reserved-memory {
atf_mem: memory@80b00000 {
reg = <0x0 0x80b00000 0x0 0x100000>;
no-map;
};
mpss_mem: memory@86000000 {
reg = <0x0 0x86000000 0x0 0x8c00000>;
no-map;
};
camera_mem: memory@8ec00000 {
reg = <0x0 0x8ec00000 0x0 0x500000>;
no-map;
};
venus_mem: memory@8f600000 {
reg = <0 0x8f600000 0 0x500000>;
no-map;
};
wlan_mem: memory@94100000 {
reg = <0x0 0x94100000 0x0 0x200000>;
no-map;
};
mba_mem: memory@94400000 {
reg = <0x0 0x94400000 0x0 0x200000>;
no-map;
};
};
};
&apps_rsc {
pm6150-rpmh-regulators {
compatible = "qcom,pm6150-rpmh-regulators";
......@@ -256,6 +309,13 @@ &qupv3_id_1 {
status = "okay";
};
&remoteproc_mpss {
status = "okay";
compatible = "qcom,sc7180-mss-pil";
iommus = <&apps_smmu 0x460 0x1>, <&apps_smmu 0x444 0x3>;
memory-region = <&mba_mem &mpss_mem>;
};
&sdhc_1 {
status = "okay";
......@@ -310,9 +370,11 @@ &usb_1_hsphy {
vdda-pll-supply = <&vreg_l11a_1p8>;
vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
qcom,imp-res-offset-value = <8>;
qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
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>;
};
&usb_1_qmpphy {
......
This diff is collapsed.
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2020, Alexey Minnekhanov <alexey.min@gmail.com>
*/
/dts-v1/;
#include "sdm660.dtsi"
/ {
model = "Xiaomi Redmi Note 7";
compatible = "xiaomi,lavender", "qcom,sdm660";
aliases {
serial0 = &blsp1_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
ramoops@a0000000 {
compatible = "ramoops";
reg = <0x0 0xa0000000 0x0 0x400000>;
console-size = <0x20000>;
record-size = <0x20000>;
ftrace-size = <0x0>;
pmsg-size = <0x20000>;
};
};
};
&blsp1_uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_active>;
};
&tlmm {
gpio-reserved-ranges = <8 4>;
};
This diff is collapsed.
......@@ -548,6 +548,8 @@ sn65dsi86_bridge: bridge@2d {
clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
clock-names = "refclk";
no-hpd;
ports {
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -112,6 +112,40 @@ pcie0_1p05v: pcie-0-1p05v-regulator {
// enable-active-high;
};
cam0_dvdd_1v2: reg_cam0_dvdd_1v2 {
compatible = "regulator-fixed";
regulator-name = "CAM0_DVDD_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
enable-active-high;
gpio = <&pm8998_gpio 12 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cam0_dvdd_1v2_en_default>;
vin-supply = <&vbat>;
};
cam0_avdd_2v8: reg_cam0_avdd_2v8 {
compatible = "regulator-fixed";
regulator-name = "CAM0_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
enable-active-high;
gpio = <&pm8998_gpio 10 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cam0_avdd_2v8_en_default>;
vin-supply = <&vbat>;
};
/* This regulator is enabled when the VREG_LVS1A_1P8 trace is enabled */
cam3_avdd_2v8: reg_cam3_avdd_2v8 {
compatible = "regulator-fixed";
regulator-name = "CAM3_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
vin-supply = <&vbat>;
};
pcie0_3p3v_dual: vldo-3v3-regulator {
compatible = "regulator-fixed";
regulator-name = "VLDO_3V3";
......@@ -412,6 +446,52 @@ &pcie1_phy {
};
&pm8998_gpio {
gpio-line-names =
"NC",
"NC",
"WLAN_SW_CTRL",
"NC",
"PM_GPIO5_BLUE_BT_LED",
"VOL_UP_N",
"NC",
"ADC_IN1",
"PM_GPIO9_YEL_WIFI_LED",
"CAM0_AVDD_EN",
"NC",
"CAM0_DVDD_EN",
"PM_GPIO13_GREEN_U4_LED",
"DIV_CLK2",
"NC",
"NC",
"NC",
"SMB_STAT",
"NC",
"NC",
"ADC_IN2",
"OPTION1",
"WCSS_PWR_REQ",
"PM845_GPIO24",
"OPTION2",
"PM845_SLB";
cam0_dvdd_1v2_en_default: cam0-dvdd-1v2-en {
pins = "gpio12";
function = "normal";
bias-pull-up;
drive-push-pull;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
};
cam0_avdd_2v8_en_default: cam0-avdd-2v8-en {
pins = "gpio10";
function = "normal";
bias-pull-up;
drive-push-pull;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
};
vol_up_pin_a: vol-up-active {
pins = "gpio6";
function = "normal";
......@@ -573,6 +653,42 @@ &spi2 {
};
&tlmm {
cam0_default: cam0_default {
rst {
pins = "gpio9";
function = "gpio";
drive-strength = <16>;
bias-disable;
};
mclk0 {
pins = "gpio13";
function = "cam_mclk";
drive-strength = <16>;
bias-disable;
};
};
cam3_default: cam3_default {
rst {
function = "gpio";
pins = "gpio21";
drive-strength = <16>;
bias-disable;
};
mclk3 {
function = "cam_mclk";
pins = "gpio16";
drive-strength = <16>;
bias-disable;
};
};
pcie0_default_state: pcie0-default {
clkreq {
pins = "gpio36";
......@@ -866,3 +982,97 @@ pinconf-rx {
bias-pull-up;
};
};
&pm8998_gpio {
};
&cci {
status = "ok";
};
&cci_i2c0 {
camera@10 {
compatible = "ovti,ov8856";
reg = <0x10>;
// CAM0_RST_N
reset-gpios = <&tlmm 9 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam0_default>;
gpios = <&tlmm 13 0>,
<&tlmm 9 0>;
clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
clock-names = "xvclk";
clock-frequency = <19200000>;
/* The &vreg_s4a_1p8 trace is powered on as a,
* so it is represented by a fixed regulator.
*
* The 2.8V vdda-supply and 1.2V vddd-supply regulators
* both have to be enabled through the power management
* gpios.
*/
power-domains = <&clock_camcc TITAN_TOP_GDSC>;
dovdd-supply = <&vreg_lvs1a_1p8>;
avdd-supply = <&cam0_avdd_2v8>;
dvdd-supply = <&cam0_dvdd_1v2>;
status = "disable";
port {
ov8856_ep: endpoint {
clock-lanes = <1>;
link-frequencies = /bits/ 64
<360000000 180000000>;
data-lanes = <1 2 3 4>;
// remote-endpoint = <&csiphy0_ep>;
};
};
};
};
&cci_i2c1 {
camera@60 {
compatible = "ovti,ov7251";
// I2C address as per ov7251.txt linux documentation
reg = <0x60>;
// CAM3_RST_N
enable-gpios = <&tlmm 21 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam3_default>;
gpios = <&tlmm 16 0>,
<&tlmm 21 0>;
clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
clock-names = "xclk";
clock-frequency = <24000000>;
/* The &vreg_s4a_1p8 trace always powered on.
*
* The 2.8V vdda-supply regulator is enabled when the
* vreg_s4a_1p8 trace is pulled high.
* It too is represented by a fixed regulator.
*
* No 1.2V vddd-supply regulator is used.
*/
power-domains = <&clock_camcc TITAN_TOP_GDSC>;
vdddo-supply = <&vreg_lvs1a_1p8>;
vdda-supply = <&cam3_avdd_2v8>;
status = "disable";
port {
ov7251_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 1>;
// remote-endpoint = <&csiphy3_ep>;
};
};
};
};
......@@ -13,7 +13,7 @@
/ {
model = "Qualcomm Technologies, Inc. SDM845 MTP";
compatible = "qcom,sdm845-mtp";
compatible = "qcom,sdm845-mtp", "qcom,sdm845";
aliases {
serial0 = &uart9;
......
This diff is collapsed.
......@@ -482,6 +482,8 @@ bluetooth {
&ufs_mem_hc {
status = "okay";
reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l20a_2p95>;
vcc-max-microamp = <600000>;
};
......@@ -579,3 +581,14 @@ right_spkr: wsa8810-right{
};
};
};
&wifi {
status = "okay";
vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
qcom,snoc-host-cap-8bit-quirk;
};
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment