blob: 6bf4aea3ba3a79abe5fed1e241455c965dfbea3c [file] [log] [blame] [edit]
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019, Linaro Limited
/dts-v1/;
#include "qcs404.dtsi"
#include "pms405.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
/ {
model = "Google QCS404/Mistral";
compatible = "google,mistral", "qcom,qcs404";
aliases {
serial0 = &blsp1_uart2;
serial1 = &blsp1_uart3;
wifi0 = &wifi;
};
chosen {
stdout-path = "serial0";
};
usb_connector: usb-connector {
compatible = "linux,extcon-usb-gpio";
id-gpio = <&tlmm 116 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_hs_id>;
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-always-on;
regulator-boot-on;
};
vdd_ch0_3p3:
vdd_esmps3_3p3: vdd-esmps3-3p3-regulator {
compatible = "regulator-fixed";
regulator-name = "eSMPS3_3P3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
&blsp1_i2c1 {
status = "okay";
clock-frequency = <400000>;
pinctrl-0 = <&led_lp5562_enable>, <&blsp1_i2c1_default>;
lp5562@30 {
compatible = "ti,lp5562";
reg = <0x30>;
clock-mode = [01];
chan0 {
chan-name = "LED0_Red";
led-cur = [64];
max-cur = [78];
};
chan1 {
chan-name = "LED0_Green";
led-cur = [64];
max-cur = [78];
};
chan2 {
chan-name = "LED0_Blue";
led-cur = [64];
max-cur = [78];
};
};
vsvs_apc_buck: fan53526@60 {
compatible = "fcs,fan53526";
reg = <0x60>;
regulator-min-microvolt = <1048000>;
regulator-max-microvolt = <1387500>;
regulator-ramp-delay = <500>;
regulator-always-on;
fcs,suspend-voltage-selector = <1>;
pinctrl-names = "default";
pinctrl-0 = <&apps_buck_en>, <&apps_mode_sel>;
};
};
&blsp1_spi0 {
status = "okay";
pinctrl-0 = <&blsp1_spi0_default &pms405_sleepclk2_pin>;
spidev@0 {
compatible = "spidev";
reg = <0>;
spi-max-frequency = <25000000>;
};
};
&blsp1_uart2_default {
rx {
drive-strength = <2>;
bias-disable;
};
tx {
drive-strength = <2>;
bias-disable;
};
};
&blsp1_uart3 {
pinctrl-names = "default";
pinctrl-0 = <&blsp1_uart3_default>;
status = "okay";
bluetooth: wcn3998-bt {
compatible = "qcom,wcn3998-bt";
vddio-supply = <&vreg_l6_1p8>;
vddxo-supply = <&vreg_l5_1p8>;
vddrf-supply = <&vreg_s5_1p35>;
vddch0-supply = <&vdd_ch0_3p3>;
max-speed = <3200000>;
};
};
&blsp2_spi0 {
status = "okay";
pinctrl-0 = <&spi_flash_wp>, <&blsp2_spi0_default>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
};
};
&blsp1_spi4 {
status = "okay";
spi-max-frequency = <800000>; /* TODO: Drop this */
cr50@0 {
compatible = "google,cr50";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&h1_ap_int_odl>;
spi-max-frequency = <800000>;
interrupt-parent = <&tlmm>;
interrupts = <53 IRQ_TYPE_EDGE_RISING>;
};
};
&cprpd {
vdd-apc-supply = <&vsvs_apc_buck>;
};
&ethernet {
status = "ok";
snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 10000>;
pinctrl-names = "default";
pinctrl-0 = <&ethernet_defaults>;
phy-mode = "rgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "snps,dwmac-mdio";
phy_port2: phy@1 {
reg = <1>;
};
phy_port3: phy@2 {
reg = <2>;
};
switch0@16 {
compatible = "qca,qca8334";
#address-cells = <1>;
#size-cells = <0>;
reg = <16>;
ports {
#address-cells = <1>;
#size-cells = <0>;
cpu_port1: port@0 {
reg = <0>;
label = "cpu";
ethernet = <&ethernet>;
phy-mode = "rgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@2 {
reg = <2>;
label = "lan1";
local-mac-address = [000000000000];
cpu = <&cpu_port1>;
phy-handle = <&phy_port2>;
};
port@3 {
reg = <3>;
label = "lan2";
local-mac-address = [000000000000];
cpu = <&cpu_port1>;
phy-handle = <&phy_port3>;
};
};
};
};
};
&gcc {
qcom,wcss-unprotected;
};
&pcie {
status = "ok";
perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&perst_state>;
};
&pcie_phy {
status = "ok";
vdda-vp-supply = <&vreg_l3_1p05>;
vdda-vph-supply = <&vreg_l5_1p8>;
};
&pms405_gpios {
apps_buck_en: apps-buck-en {
pins = "gpio4";
function = "normal";
output-high;
};
apps_mode_sel: apps-mode-sel {
pins = "gpio6";
function = "normal";
output-low;
};
pms405_sleepclk2_pin: pms405_sleepclk2_pin {
pinconf {
pins = "gpio8";
function = PMIC_GPIO_FUNC_FUNC1;
qcom,drive-strength = <2>;
power-source = <0>;
bias-disable;
output-low;
};
};
};
&pms405_0{
rtc@6000 {
status = "disabled";
};
};
&remoteproc_wcss_pil {
status = "okay";
};
&rpm_requests {
pms405-regulators {
compatible = "qcom,rpm-pms405-regulators";
vdd_s1-supply = <&vph_pwr>;
vdd_s2-supply = <&vph_pwr>;
vdd_s3-supply = <&vph_pwr>;
vdd_s4-supply = <&vph_pwr>;
vdd_s5-supply = <&vph_pwr>;
vdd_l1_l2-supply = <&vreg_s5_1p35>;
vdd_l3_l8-supply = <&vreg_s5_1p35>;
vdd_l4-supply = <&vreg_s5_1p35>;
vdd_l5_l6-supply = <&vreg_s4_1p8>;
vdd_l7-supply = <&vph_pwr>;
vdd_l9-supply = <&vreg_s5_1p35>;
vdd_l10_l11_l12_l13-supply = <&vph_pwr>;
vreg_s4_1p8: s4 {
regulator-min-microvolt = <1728000>;
regulator-max-microvolt = <1920000>;
};
vreg_s5_1p35: s5 {
regulator-min-microvolt = <1352000>;
regulator-max-microvolt = <1352000>;
regulator-always-on;
};
vreg_l1_1p3: l1 {
regulator-min-microvolt = <1240000>;
regulator-max-microvolt = <1352000>;
};
vreg_l2_1p275: l2 {
regulator-min-microvolt = <1048000>;
regulator-max-microvolt = <1280000>;
};
vreg_l3_1p05: l3 {
regulator-min-microvolt = <1048000>;
regulator-max-microvolt = <1160000>;
regulator-always-on;
};
vreg_l4_1p2: l4 {
regulator-min-microvolt = <1144000>;
regulator-max-microvolt = <1256000>;
regulator-always-on;
};
vreg_l5_1p8: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vreg_l6_1p8: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
vreg_l7_1p8: l7 {
regulator-min-microvolt = <1616000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
};
vreg_l10_3p3: l10 {
regulator-min-microvolt = <2936000>;
regulator-max-microvolt = <3088000>;
regulator-boot-on;
};
vreg_l12_3p3: l12 {
regulator-min-microvolt = <2968000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vreg_l13_3p3: l13 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
&sdcc1 {
status = "ok";
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
bus-width = <8>;
non-removable;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
};
&soc {
restart@4ab000 {
compatible = "qcom,pshold";
reg = <0x004ab000 0x4>;
};
};
&remoteproc_cdsp {
compatible = "qcom,qcs404-cdsp-pil";
status = "okay";
};
&tlmm {
/* Add required gpio names to use gpio hog mechanism */
gpio-line-names = "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "AP_FLASH_WP_L", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "RECOVERY_SW_L", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "";
blsp1_uart3_default: blsp1-uart3-default {
drive-strength = <2>;
bias-disable;
};
ethernet_defaults: ethernet-defaults {
int {
pins = "gpio61";
function = "rgmii_int";
bias-disable;
drive-strength = <2>;
};
mdc {
pins = "gpio76";
function = "rgmii_mdc";
bias-pull-up;
};
mdio {
pins = "gpio75";
function = "rgmii_mdio";
bias-pull-up;
};
tx {
pins = "gpio67", "gpio66", "gpio65", "gpio64";
function = "rgmii_tx";
bias-pull-up;
drive-strength = <6>;
};
rx {
pins = "gpio73", "gpio72", "gpio71", "gpio70";
function = "rgmii_rx";
bias-disable;
drive-strength = <2>;
};
tx-ctl {
pins = "gpio68";
function = "rgmii_ctl";
bias-pull-up;
drive-strength = <6>;
};
rx-ctl {
pins = "gpio74";
function = "rgmii_ctl";
bias-disable;
drive-strength = <2>;
};
tx-ck {
pins = "gpio63";
function = "rgmii_ck";
bias-pull-up;
drive-strength = <6>;
};
rx-ck {
pins = "gpio69";
function = "rgmii_ck";
bias-disable;
drive-strength = <2>;
};
};
h1_ap_int_odl: h1-ap-int-odl {
pinmux {
pins = "gpio53";
function = "gpio";
input-enable;
};
pinconf {
pins = "gpio53";
bias-pull-up;
};
};
led_lp5562_enable: led-lp5562-enable {
pins = "gpio119";
function = "gpio";
bias-pull-up;
drive-strength = <2>;
output-high;
};
perst_state: perst {
pins = "gpio43";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-low;
};
sdc1_on: sdc1-on {
clk {
pins = "sdc1_clk";
bias-disable;
drive-strength = <16>;
};
cmd {
pins = "sdc1_cmd";
bias-pull-up;
drive-strength = <10>;
};
data {
pins = "sdc1_data";
bias-pull-up;
dreive-strength = <10>;
};
rclk {
pins = "sdc1_rclk";
bias-pull-down;
};
};
sdc1_off: sdc1-off {
clk {
pins = "sdc1_clk";
bias-disable;
drive-strength = <2>;
};
cmd {
pins = "sdc1_cmd";
bias-pull-up;
drive-strength = <2>;
};
data {
pins = "sdc1_data";
bias-pull-up;
dreive-strength = <2>;
};
rclk {
pins = "sdc1_rclk";
bias-pull-down;
};
};
spi_flash_wp: spi-flash-wp {
pins = "gpio54";
function = "gpio";
bias-disable;
bias-no-pull;
drive-strength = <2>;
input-enable;
};
usb0_hs_id: usb0-hs-id {
pinmux {
pins = "gpio116";
function = "gpio";
};
pinconf {
pins = "gpio116";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
};
&turingcc {
status = "okay";
};
&usb2 {
status = "okay";
extcon = <&usb_connector>;
dwc3@78c0000 {
extcon = <&usb_connector>;
dr_mode = "otg";
};
};
&usb2_phy_prim {
vdd-supply = <&vreg_l4_1p2>;
vdda1p8-supply = <&vreg_l5_1p8>;
vdda3p3-supply = <&vreg_l12_3p3>;
qcom,vdd-voltage-level = <0 1144000 1200000>;
status = "okay";
};
&wifi {
status = "okay";
vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>;
vdd-1.8-xo-supply = <&vreg_l5_1p8>;
vdd-1.3-rfa-supply = <&vreg_l1_1p3>;
};
&tz_usr_iface {
status = "ok";
/*
qcom,panic-on-xpu-violation;
*/
};
/* PINCTRL - board-specific pinctrl */
&blsp2_spi0_default {
mosi {
pins = "gpio26";
bias-disable;
drive-strength = <6>;
};
miso {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
clk {
pins = "gpio29";
bias-disable;
drive-strength = <6>;
};
cs {
pins = "gpio28";
bias-disable;
drive-strength = <6>;
};
};
&aoss_alert0 {
temperature = <100000>;
};
&q6_hvx_alert0 {
temperature = <100000>;
};
&lpass_alert0 {
temperature = <100000>;
};
&wlan_alert0 {
temperature = <100000>;
};
&cluster_alert1 {
temperature = <100000>;
};
&cpu0_alert1 {
temperature = <100000>;
};
&cpu1_alert1 {
temperature = <100000>;
};
&cpu2_alert1 {
temperature = <100000>;
};
&cpu3_alert1 {
temperature = <100000>;
};
&pms405_alert0 {
temperature = <100000>;
};