blob: e04a3b8f81c556713550cd22feb2d0f282564baa [file] [log] [blame]
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
*/
/dts-v1/;
/* PMK8350 is configured to use SID6 instead of 0 */
#define PMK8350_SID 6
#include <dt-bindings/gpio/gpio.h>
#include "sm6375.dtsi"
#include "pm6125.dtsi"
#include "pmk8350.dtsi"
#include "pmr735a.dtsi"
/* PM6125 PON is used and we can't have duplicate labels */
/delete-node/ &pmk8350_pon;
/ {
model = "Sony Xperia 10 IV";
compatible = "sony,pdx225", "qcom,sm6375";
chassis-type = "handset";
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
framebuffer: framebuffer@85200000 {
compatible = "simple-framebuffer";
reg = <0 0x85200000 0 0xc00000>;
width = <1080>;
height = <2520>;
stride = <(1080 * 4)>;
format = "a8r8g8b8";
/*
* That's (going to be) a lot of clocks, but it's necessary due
* to unused clk cleanup & no panel driver yet
*/
clocks = <&gcc GCC_DISP_AHB_CLK>,
<&gcc GCC_DISP_HF_AXI_CLK>,
<&gcc GCC_DISP_THROTTLE_CORE_CLK>,
<&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>;
};
};
gpio-keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-0 = <&vol_down_n>;
pinctrl-names = "default";
key-volume-down {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
reserved-memory {
cont_splash_mem: memory@85200000 {
reg = <0 0x85200000 0 0xc00000>;
no-map;
};
ramoops@ffc40000 {
compatible = "ramoops";
reg = <0 0xffc40000 0 0xb0000>;
record-size = <0x10000>;
console-size = <0x60000>;
ftrace-size = <0x10000>;
pmsg-size = <0x20000>;
ecc-size = <16>;
};
};
touch_avdd: touch-avdd-regulator {
compatible = "regulator-fixed";
regulator-name = "touch_avdd";
gpio = <&tlmm 59 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&ts_avdd_default>;
enable-active-high;
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
regulator-always-on;
regulator-boot-on;
};
};
&sdc2_off_state {
sd-cd-pins {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};
&sdc2_on_state {
sd-cd-pins {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
&sdhc_2 {
status = "okay";
vmmc-supply = <&pm6125_l22>;
vqmmc-supply = <&pm6125_l5>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&gpi_dma0 {
status = "okay";
};
&gpi_dma1 {
status = "okay";
};
&i2c8 {
clock-frequency = <400000>;
status = "okay";
touchscreen@48 {
compatible = "samsung,s6sy761";
reg = <0x48>;
interrupt-parent = <&tlmm>;
interrupts = <22 IRQ_TYPE_LEVEL_LOW>;
vdd-supply = <&pm6125_l13>;
avdd-supply = <&touch_avdd>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_default>;
};
};
&pmk8350_adc_tm {
status = "okay";
};
&pmk8350_rtc {
status = "okay";
};
&pmr735a_gpios {
vol_down_n: vol-down-n-state {
pins = "gpio1";
function = "normal";
power-source = <1>;
bias-pull-up;
input-enable;
};
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEUP>;
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&remoteproc_adsp {
firmware-name = "qcom/sm6375/Sony/murray/adsp.mbn";
status = "okay";
};
&remoteproc_cdsp {
firmware-name = "qcom/sm6375/Sony/murray/cdsp.mbn";
status = "okay";
};
&remoteproc_mss {
firmware-name = "qcom/sm6375/Sony/murray/modem.mbn";
status = "okay";
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm6125-regulators";
pm6125_s5: s5 {
regulator-min-microvolt = <382000>;
regulator-max-microvolt = <1120000>;
};
pm6125_s6: s6 {
regulator-min-microvolt = <320000>;
regulator-max-microvolt = <1374000>;
};
pm6125_s7: s7 {
regulator-min-microvolt = <1574000>;
regulator-max-microvolt = <2040000>;
};
/*
* S8 is VDD_GFX
* L1 is VDD_LPI_CX
*/
pm6125_l2: l2 {
regulator-min-microvolt = <1170000>;
regulator-max-microvolt = <1304000>;
};
pm6125_l3: l3 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
};
pm6125_l4: l4 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
};
pm6125_l5: l5 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <2960000>;
regulator-allow-set-load;
};
pm6125_l6: l6 {
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1304000>;
};
pm6125_l7: l7 {
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
};
pm6125_l8: l8 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1304000>;
};
pm6125_l9: l9 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
};
pm6125_l10: l10 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
};
pm6125_l11: l11 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
};
pm6125_l12: l12 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <2000000>;
};
pm6125_l13: l13 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <1980000>;
};
pm6125_l14: l14 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
};
pm6125_l15: l15 {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <3544000>;
};
pm6125_l16: l16 {
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
};
/* L17 is VDD_LPI_MX */
pm6125_l18: l18 {
regulator-min-microvolt = <830000>;
regulator-max-microvolt = <920000>;
};
pm6125_l19: l19 {
regulator-min-microvolt = <1624000>;
regulator-max-microvolt = <3304000>;
};
pm6125_l20: l20 {
regulator-min-microvolt = <1624000>;
regulator-max-microvolt = <3304000>;
};
pm6125_l21: l21 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
};
pm6125_l22: l22 {
regulator-min-microvolt = <2704000>;
regulator-max-microvolt = <2960000>;
regulator-allow-set-load;
};
pm6125_l23: l23 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
};
pm6125_l24: l24 {
regulator-min-microvolt = <2704000>;
regulator-max-microvolt = <3544000>;
};
};
regulators-1 {
compatible = "qcom,rpm-pmr735a-regulators";
/*
* S1 is VDD_MX
* S2 is VDD_CX
*/
pmr735a_l1: l1 {
regulator-min-microvolt = <570000>;
regulator-max-microvolt = <650000>;
};
pmr735a_l2: l2 {
regulator-min-microvolt = <640000>;
regulator-max-microvolt = <640000>;
};
pmr735a_l3: l3 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>;
};
pmr735a_l4: l4 {
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
};
pmr735a_l5: l5 {
regulator-min-microvolt = <751000>;
regulator-max-microvolt = <824000>;
};
pmr735a_l6: l6 {
regulator-min-microvolt = <504000>;
regulator-max-microvolt = <868000>;
};
pmr735a_l7: l7 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
};
};
};
&sdc2_off_state {
sd-cd-pins {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};
&sdc2_on_state {
sd-cd-pins {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
&sdhc_2 {
status = "okay";
vmmc-supply = <&pm6125_l22>;
vqmmc-supply = <&pm6125_l5>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&tlmm {
gpio-reserved-ranges = <13 4>;
ts_int_default: ts-int-default-state {
pins = "gpio22";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
ts_avdd_default: ts-avdd-default-state {
pins = "gpio59";
function = "gpio";
drive-strength = <8>;
output-low;
};
};
&usb_1 {
status = "okay";
};
&usb_1_dwc3 {
dr_mode = "peripheral";
};
&usb_1_hsphy {
vdda-pll-supply = <&pm6125_l7>;
vdda18-supply = <&pm6125_l10>;
vdda33-supply = <&pmr735a_l7>;
status = "okay";
};
&wifi {
vdd-0.8-cx-mx-supply = <&pmr735a_l2>;
vdd-1.8-xo-supply = <&pm6125_l16>;
vdd-1.3-rfa-supply = <&pm6125_l2>;
vdd-3.3-ch0-supply = <&pm6125_l23>;
vdd-3.3-ch1-supply = <&pm6125_l21>;
status = "okay";
};
&xo_board_clk {
clock-frequency = <19200000>;
};