blob: 63638fc58cbadca491814611938f0ad6f02ca599 [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.dtsi"
#include "msm8909w-gpu.dtsi"
#include "8909w-pm660.dtsi"
#include "apq8009w-bg-memory.dtsi"
#include "msm8909-audio-bg_codec.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ8009W-PM660 BG Alpha SDW3100";
compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp";
qcom,msm-id = <265 0>,
<301 0>;
qcom,board-id = <8 0x113>;
qcom,pmic-id = <0x0001001b 0x0 0x0 0x0>,
<0x0001011b 0x0 0x0 0x0>;
};
&soc {
i2c@78b9000 { /* BLSP1 QUP5 */
focaltech@38 {
compatible = "focaltech,fts";
reg = <0x38>;
interrupt-parent = <&msm_gpio>;
interrupts = <98 0x2008>;
vdd-supply = <&pm660_l18>;
vcc-i2c-supply = <&pm660_l13>;
focaltech,irq-gpio = <&msm_gpio 98 0x2008>;
focaltech,reset-gpio = <&msm_gpio 16 0x00>;/**/
focaltech,max-touch-number = <5>;
focaltech,display-coords = <0 0 390 390>;/**/
focaltech,wakeup-gestures-en;
};
/delete-node/ it7260@46;
/delete-node/ synaptics@20;
};
qcom,blackghost {
compatible = "qcom,pil-blackghost";
qcom,pil-force-shutdown;
qcom,firmware-name = "bg-wear";
/* GPIO inputs from blackghost */
qcom,bg2ap-status-gpio = <&msm_gpio 97 0>;
qcom,bg2ap-errfatal-gpio = <&msm_gpio 95 0>;
/* GPIO output to blackghost */
qcom,ap2bg-status-gpio = <&msm_gpio 17 0>;
qcom,ap2bg-errfatal-gpio = <&msm_gpio 23 0>;
};
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";
};
qcom,glinkpkt-bg-sso-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "sso-ctrl";
qcom,glinkpkt-dev-name = "glink_pkt_bg_sso_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,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>;
ssr-reg1-supply = <&pm660_l3>;
ssr-reg2-supply = <&pm660_l9>;
};
};
&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>;
clocks = <&clock_rpm clk_bb_clk3_pin>;
clock-names = "ref_clk";
};
};
&spi_0 {
status = "disabled";
};
&i2c_3 {
status = "disabled";
};
&i2c_4 {
status = "disabled";
};
&i2c_2 {
status = "disabled";
};
&sdc1_clk_off {
config {
pins = "sdc1_clk";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdc1_cmd_off {
config {
pins = "sdc1_cmd";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdc1_data_off {
config {
pins = "sdc1_data";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdhc_2 {
status = "disabled";
};
&audio_codec_mtp {
status = "disabled";
};
&audio_codec_bg {
status = "ok";
};
&bg_cdc {
status = "ok";
vdd-spkr-supply = <&pm660_l11>;
};
&blsp1_uart1 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_sleep>;
};
/* Pinctrl dt nodes for interrupt and reset gpio for Synaptics controller */
&ts_int_active {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
};
};
&ts_int_suspend {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
};
};
&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";
};
};
&pm660_charger {
qcom,micro-usb;
};
&spi4_cs0_active {
mux {
pins = "gpio14";
function = "blsp_spi4";
};
config {
pins = "gpio14";
drive-strength = <2>;
bias-disable; /* No PULL */
output-high;
};
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_auo_390p_cmd>;
qcom,platform-bklight-en-gpio = <&msm_gpio 52 0>;
qcom,platform-enable-gpio = <&msm_gpio 59 0>;
};