blob: 8f2eac03789c8f58fc9bb4d6052fdb141dcc074a [file] [log] [blame]
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/dts-v1/;
#include "msm8909-mtp.dtsi"
#include "msm8909w-gpu.dtsi"
#include "msm8909w.dtsi"
#include "msm8909w-bg-memory.dtsi"
#include "8909w-pm660.dtsi"
#include "msm8909-audio-bg_codec.dtsi"
/ {
model = "Qualcomm Technologies, Inc. MSM8909W-PM660 BLACKGHOST WTP";
compatible = "qcom,msm8909-mtp", "qcom,msm8909", "qcom,mtp";
qcom,msm-id = <245 0>,
<258 0>,
<275 0>,
<300 0>;
qcom,board-id = <8 0x10f>;
qcom,pmic-id = <0x0001001b 0x0 0x0 0x0>,
<0x0001011b 0x0 0x0 0x0>;
};
&soc {
i2c@78b9000 { /* BLSP1 QUP5 */
synaptics@20 {
compatible = "synaptics,dsx-i2c";
reg = <0x20>;
interrupt-parent = <&msm_gpio>;
interrupts = <98 0x2008>;
vdd_ana-supply = <&pm660_l18>;
vcc_i2c-supply = <&pm660_l13>;
synaptics,pwr-reg-name = "vdd_ana";
synaptics,bus-reg-name = "vcc_i2c";
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_int_active &ts_reset_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&ts_release>;
synaptics,irq-gpio = <&msm_gpio 98 0x2008>;
synaptics,irq-on-state = <0>;
synaptics,irq-flags = <0x2008>;
synaptics,power-delay-ms = <200>;
synaptics,reset-delay-ms = <200>;
synaptics,max-y-for-2d = <389>;
synaptics,wakeup-gestures-en;
synaptics,resume-in-workqueue;
synaptics,x-flip;
synaptics,y-flip;
/delete-property/ synaptics,reset-gpio;
/delete-property/ synaptics,display-coords;
/delete-property/ synaptics,panel-coords;
/delete-property/ synaptics,power-down;
/delete-property/ synaptics,disable-gpios;
/delete-property/ synaptics,is_wake;
};
/delete-node/ it7260@46;
};
qcom,msm-ssc-sensors {
compatible = "qcom,msm-ssc-sensors";
};
qcom,glink-bgcom-xprt-bg {
compatible = "qcom,glink-bgcom-xprt";
label = "bg";
qcom,qos-config = <&glink_qos_bg>;
qcom,ramp-time = <0x10>,
<0x20>,
<0x30>,
<0x40>;
};
glink_qos_bg: qcom,glink-qos-config-bg {
compatible = "qcom,glink-qos-config";
qcom,flow-info = <0x80 0x0>,
<0x70 0x1>,
<0x60 0x2>,
<0x50 0x3>;
qcom,mtu-size = <0x800>;
qcom,tput-stats-cycle = <0xa>;
};
qcom,glink_pkt {
compatible = "qcom,glinkpkt";
qcom,glinkpkt-bg-daemon {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "bg-daemon";
qcom,glinkpkt-dev-name = "glink_pkt_bg_daemon";
};
qcom,glinkpkt-bg-display-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "display-ctrl";
qcom,glinkpkt-dev-name = "glink_pkt_bg_display_ctrl";
};
qcom,glinkpkt-bg-display-data {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "display-data";
qcom,glinkpkt-dev-name = "glink_pkt_bg_display_data";
};
qcom,glinkpkt-bg-rsb-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "RSB_CTRL";
qcom,glinkpkt-dev-name = "glink_pkt_bg_rsb_ctrl";
};
};
spi@78B8000 { /* BLSP1 QUP4 */
status = "ok";
qcom,bg-spi {
compatible = "qcom,bg-spi";
reg = <0>;
spi-max-frequency = <16000000>;
interrupt-parent = <&msm_gpio>;
qcom,irq-gpio = <&msm_gpio 110 1>;
};
};
qcom,msm-thermal {
vdd-dig-supply = <&pm660_s2_floor_corner>;
msm_thermal_freq: qcom,vdd-apps-rstr {
qcom,vdd-rstr-reg = "vdd-apps";
qcom,levels = <1094400>;
qcom,freq-req;
};
};
qcom,bg-rsb {
compatible = "qcom,bg-rsb";
vdd-ldo1-supply = <&pm660_l11>;
vdd-ldo2-supply = <&pm660_l15>;
};
qcom,bg-daemon {
compatible = "qcom,bg-daemon";
qcom,bg-reset-gpio = <&pm660_gpios 5 0>;
};
qcom,bcl {
compatible = "qcom,bcl";
qcom,bcl-enable;
qcom,bcl-framework-interface;
qcom,bcl-freq-control-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
qcom,bcl-hotplug-list = <&CPU2 &CPU3>;
qcom,bcl-soc-hotplug-list = <&CPU2 &CPU3>;
qcom,ibat-monitor {
qcom,low-threshold-uamp = <1000000>;
qcom,high-threshold-uamp = <2000000>;
qcom,mitigation-freq-khz = <1094400>;
qcom,vph-high-threshold-uv = <3500000>;
qcom,vph-low-threshold-uv = <3200000>;
qcom,soc-low-threshold = <10>;
qcom,thermal-handle = <&msm_thermal_freq>;
};
};
};
&audio_codec_mtp {
status = "disabled";
};
&audio_codec_bg {
status = "ok";
};
&bg_cdc {
status = "ok";
vdd-spkr-supply = <&pm660_l11>;
};
&i2c_1 {
status = "okay";
nq@28 {
compatible = "qcom,nq-nci";
reg = <0x28>;
qcom,nq-irq = <&msm_gpio 50 0x00>;
qcom,nq-ven = <&msm_gpio 36 0x00>;
qcom,nq-firm = <&msm_gpio 38 0x00>;
qcom,nq-esepwr = <&msm_gpio 49 0x00>;
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
qcom,clk-src = "BBCLK3";
interrupt-parent = <&msm_gpio>;
interrupts = <50 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active","nfc_suspend";
pinctrl-0 = <&nfcw_int_active
&nfcw_disable_active
&nfc_clk_default>;
pinctrl-1 = <&nfcw_int_suspend &nfcw_disable_suspend>;
clock-names = "ref_clk";
};
};
&spi_0 {
status = "disabled";
};
&i2c_3 {
status = "disabled";
};
&i2c_4 {
status = "disabled";
};
&i2c_2 {
status = "disabled";
};
&sdhc_2 {
status = "disabled";
};
&blsp1_uart1 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_sleep>;
};
/* Pinctrl dt nodes for interrupt & reset gpio for Synaptics touch controller */
&ts_int_active {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
};
};
&ts_int_suspend {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
/delete-property/ bias-pull-down;
bias-disable; /* No PULL */
};
};
&ts_reset_active {
mux {
pins = "gpio16";
};
config {
pins = "gpio16";
};
};
&ts_reset_suspend {
mux {
pins = "gpio16";
};
config {
pins = "gpio16";
};
};
&ts_release {
mux {
pins = "gpio98", "gpio16";
};
config {
pins = "gpio98", "gpio16";
};
};
&spi4_cs0_active {
mux {
pins = "gpio14";
function = "blsp_spi4";
};
config {
pins = "gpio14";
drive-strength = <2>;
bias-disable; /* No PULL */
output-high;
};
};