// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8064-v2.0.dtsi"
#include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mfd/qcom-rpm.h>
/ {
model = "Arrow Electronics, APQ8064 SD_600eval";
compatible = "arrow,sd_600eval", "qcom,apq8064";
aliases {
serial0 = &gsbi7_serial;
serial1 = &gsbi1_serial;
i2c0 = &gsbi2_i2c;
i2c1 = &gsbi3_i2c;
i2c2 = &gsbi4_i2c;
i2c3 = &gsbi7_i2c;
spi0 = &gsbi5_spi;
};
regulators {
compatible = "simple-bus";
vph: regulator-fixed@1 {
compatible = "regulator-fixed";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <4500000>;
regulator-name = "VPH";
regulator-type = "voltage";
regulator-boot-on;
};
/* on board fixed 3.3v supply */
vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "VCC3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
hdmi-out {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con: endpoint {
remote-endpoint = <&hdmi_out>;
};
};
};
soc {
rpm@108000 {
regulators {
vdd_s1-supply = <&vph>;
vdd_s2-supply = <&vph>;
vdd_s3-supply = <&vph>;
vdd_s4-supply = <&vph>;
vdd_s5-supply = <&vph>;
vdd_s6-supply = <&vph>;
vdd_s7-supply = <&vph>;
vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
vdd_l3_l15_l17-supply = <&vph>;
vdd_l4_l14-supply = <&vph>;
vdd_l5_l8_l16-supply = <&vph>;
vdd_l6_l7-supply = <&vph>;
vdd_l9_l11-supply = <&vph>;
vdd_l10_l22-supply = <&vph>;
vdd_l21_l23_l29-supply = <&vph>;
vdd_l24-supply = <&pm8921_s1>;
vdd_l25-supply = <&pm8921_s1>;
vdd_l26-supply = <&pm8921_s7>;
vdd_l27-supply = <&pm8921_s7>;
vdd_l28-supply = <&pm8921_s7>;
vin_lvs1_3_6-supply = <&pm8921_s4>;
vin_lvs2-supply = <&pm8921_s1>;
vin_lvs4_5_7-supply = <&pm8921_s4>;
s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
qcom,switch-mode-frequency = <3200000>;
bias-pull-down;
};
s2 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
regulator-always-on;
};
s3 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
qcom,switch-mode-frequency = <4800000>;
};
s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
bias-pull-down;
regulator-always-on;
};
s7 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <3200000>;
};
l3 {
regulator-min-microvolt = <3050000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l4 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l5 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
regulator-boot-on;
regulator-always-on;
};
l6 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
/**
* 1.8v required on LS expansion
* for mezzanine boards
*/
l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
l23 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
lvs6 {
bias-pull-down;
};
lvs7 {
bias-pull-down;
};
};
};
gsbi@12440000 {
status = "okay";
qcom,mode = <GSBI_PROT_UART_W_FC>;
serial@12450000 {
label = "LS-UART1";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gsbi1_uart_4pins>;
};
};
gsbi@12480000 {
status = "okay";
qcom,mode = <GSBI_PROT_I2C>;
i2c@124a0000 {
/* On Low speed expansion and Sensors */
label = "LS-I2C0";
status = "okay";
lis3mdl_mag@1e {
compatible = "st,lis3mdl-magn";
reg = <0x1e>;
vdd-supply = <&vcc3v3>;
vddio-supply = <&pm8921_s4>;
pinctrl-names = "default";
pinctrl-0 = <&magneto_pins>;
interrupt-parent = <&tlmm_pinmux>;
st,drdy-int-pin = <2>;
interrupts = <48 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
<31 IRQ_TYPE_EDGE_RISING>; /* INT */
};
};
};
gsbi@16200000 {
status = "okay";
qcom,mode = <GSBI_PROT_I2C>;
i2c@16280000 {
/* On Low speed expansion */
status = "okay";
label = "LS-I2C1";
clock-frequency = <200000>;
eeprom@52 {
compatible = "atmel,24c128";
reg = <0x52>;
pagesize = <64>;
};
};
};
gsbi@16300000 {
status = "okay";
qcom,mode = <GSBI_PROT_I2C>;
i2c@16380000 {
/* On High speed expansion */
label = "HS-CAM-I2C3";
status = "okay";
};
};
gsbi@1a200000 {
status = "okay";
spi@1a280000 {
/* On Low speed expansion */
label = "LS-SPI0";
status = "okay";
};
};
/* DEBUG UART */
gsbi@16600000 {
status = "okay";
qcom,mode = <GSBI_PROT_I2C_UART>;
serial@16640000 {
label = "LS-UART0";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gsbi7_uart_2pins>;
};
i2c@16680000 {
/* On High speed expansion */
status = "okay";
label = "HS-CAM-I2C2";
};
};
leds {
pinctrl-names = "default";
pinctrl-0 = <&user_leds>, <&mpp_leds>;
compatible = "gpio-leds";
user-led0 {
label = "user0-led";
gpios = <&tlmm_pinmux 3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
user-led1 {
label = "user1-led";
gpios = <&tlmm_pinmux 7 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "mmc0";
default-state = "off";
};
user-led2 {
label = "user2-led";
gpios = <&tlmm_pinmux 10 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "mmc1";
default-state = "off";
};
user-led3 {
label = "user3-led";
gpios = <&tlmm_pinmux 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "none";
default-state = "off";
};
wifi-led {
label = "WiFi-led";
gpios = <&pm8921_mpps 7 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
bt-led {
label = "BT-led";
gpios = <&pm8921_mpps 8 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
pci@1b500000 {
status = "okay";
vdda-supply = <&pm8921_s3>;
vdda_phy-supply = <&pm8921_lvs6>;
vdda_refclk-supply = <&vcc3v3>;
pinctrl-0 = <&pcie_pins>;
pinctrl-names = "default";
perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
};
phy@1b400000 {
status = "okay";
};
sata@29000000 {
status = "okay";
target-supply = <&pm8921_lvs7>;
};
/* OTG */
usb@12500000 {
status = "okay";
dr_mode = "peripheral";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
usb@12520000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
usb@12530000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
amba {
/* eMMC */
sdcc@12400000 {
status = "okay";
vmmc-supply = <&pm8921_l5>;
vqmmc-supply = <&pm8921_s4>;
};
/* External micro SD card */
sdcc@12180000 {
status = "okay";
vmmc-supply = <&pm8921_l6>;
pinctrl-names = "default";
pinctrl-0 = <&card_detect>;
cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_HIGH>;
};
};
riva-pil@3204000 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>;
};
hdmi-tx@4a00000 {
status = "okay";
core-vdda-supply = <&pm8921_hdmi_switch>;
hdmi-mux-supply = <&vcc3v3>;
hpd-gpio = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
ports {
port@1 {
endpoint {
remote-endpoint = <&hdmi_con>;
};
};
};
};
hdmi-phy@4a00400 {
status = "okay";
core-vdda-supply = <&pm8921_hdmi_switch>;
};
mdp@5100000 {
status = "okay";
ports {
port@3 {
endpoint {
remote-endpoint = <&hdmi_in>;
};
};
};
};
};
};