mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-04 18:49:41 +00:00
arm64: dts: qcom: qcm6490: Add device-tree for Fairphone 5
Add device tree for the Fairphone 5 smartphone which is based on the QCM6490 SoC. Supported features are, as of now: * Bluetooth * Debug UART * Display via simplefb * Flash/torch LED * Flip cover sensor * Power & volume buttons * RTC * SD card * USB * Various plumbing like regulators, i2c, spi, etc Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230919-fp5-initial-v2-7-14bb7cedadf5@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
4b1a16d776
commit
eee9602ad6
@ -82,6 +82,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-lilac.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-maple.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
|
||||
|
667
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
Normal file
667
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
Normal file
@ -0,0 +1,667 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/* PM7250B is configured to use SID8/9 */
|
||||
#define PM7250B_SID 8
|
||||
#define PM7250B_SID1 9
|
||||
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||||
#include "sc7280.dtsi"
|
||||
#include "pm7250b.dtsi"
|
||||
#include "pm7325.dtsi"
|
||||
#include "pm8350c.dtsi" /* PM7350C */
|
||||
#include "pmk8350.dtsi" /* PMK7325 */
|
||||
|
||||
/delete-node/ &rmtfs_mem;
|
||||
|
||||
/ {
|
||||
model = "Fairphone 5";
|
||||
compatible = "fairphone,fp5", "qcom,qcm6490";
|
||||
chassis-type = "handset";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart5;
|
||||
serial1 = &uart7;
|
||||
};
|
||||
|
||||
chosen {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
framebuffer0: framebuffer@a000000 {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0x0 0xe1000000 0x0 (2700 * 1224 * 4)>;
|
||||
width = <1224>;
|
||||
height = <2700>;
|
||||
stride = <(1224 * 4)>;
|
||||
format = "a8r8g8b8";
|
||||
clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
pinctrl-0 = <&volume_down_default>, <&hall_sensor_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
key-volume-up {
|
||||
label = "Volume up";
|
||||
gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
|
||||
/* Powered by the always-on vreg_l8c */
|
||||
event-hall-sensor {
|
||||
label = "Hall Effect Sensor";
|
||||
gpios = <&tlmm 155 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <EV_SW>;
|
||||
linux,code = <SW_LID>;
|
||||
linux,can-disable;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
cont_splash_mem: cont-splash@e1000000 {
|
||||
reg = <0x0 0xe1000000 0x0 0x2300000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
adsp_mem: adsp@86700000 {
|
||||
reg = <0x0 0x86700000 0x0 0x2800000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
cdsp_mem: cdsp@88f00000 {
|
||||
reg = <0x0 0x88f00000 0x0 0x1e00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
mpss_mem: mpss@8b800000 {
|
||||
reg = <0x0 0x8b800000 0x0 0xf600000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
wpss_mem: wpss@9ae00000 {
|
||||
reg = <0x0 0x9ae00000 0x0 0x1900000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
rmtfs_mem: memory@f8500000 {
|
||||
compatible = "qcom,rmtfs-mem";
|
||||
reg = <0x0 0xf8500000 0x0 0x600000>;
|
||||
no-map;
|
||||
|
||||
qcom,client-id = <1>;
|
||||
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
|
||||
};
|
||||
};
|
||||
|
||||
ois_avdd0_1p8: regulator-ois-avdd0-1p8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "OIS_AVDD0_1P8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <&vreg_bob>;
|
||||
};
|
||||
|
||||
ois_dvdd_1p1: regulator-ois-dvdd-1p1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "OIS_DVDD_1P1";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <&vreg_s8b>;
|
||||
};
|
||||
|
||||
afvdd_2p8: regulator-afvdd-2p8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "AFVDD_2P8";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&tlmm 68 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <&vreg_bob>;
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm7325-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
vreg_s1b: smps1 {
|
||||
regulator-min-microvolt = <1840000>;
|
||||
regulator-max-microvolt = <2040000>;
|
||||
};
|
||||
|
||||
vreg_s7b: smps7 {
|
||||
regulator-min-microvolt = <535000>;
|
||||
regulator-max-microvolt = <1120000>;
|
||||
};
|
||||
|
||||
vreg_s8b: smps8 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
|
||||
};
|
||||
|
||||
vreg_l1b: ldo1 {
|
||||
regulator-min-microvolt = <825000>;
|
||||
regulator-max-microvolt = <925000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l2b: ldo2 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l3b: ldo3 {
|
||||
regulator-min-microvolt = <312000>;
|
||||
regulator-max-microvolt = <910000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6b: ldo6 {
|
||||
regulator-min-microvolt = <1140000>;
|
||||
regulator-max-microvolt = <1260000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7b: ldo7 {
|
||||
regulator-min-microvolt = <2400000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l8b: ldo8 {
|
||||
regulator-min-microvolt = <870000>;
|
||||
regulator-max-microvolt = <970000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l9b: ldo9 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l11b: ldo11 {
|
||||
regulator-min-microvolt = <1504000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l12b: ldo12 {
|
||||
regulator-min-microvolt = <751000>;
|
||||
regulator-max-microvolt = <824000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l13b: ldo13 {
|
||||
regulator-min-microvolt = <530000>;
|
||||
regulator-max-microvolt = <824000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l14b: ldo14 {
|
||||
regulator-min-microvolt = <1080000>;
|
||||
regulator-max-microvolt = <1304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l15b: ldo15 {
|
||||
regulator-min-microvolt = <765000>;
|
||||
regulator-max-microvolt = <1020000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l16b: ldo16 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l17b: ldo17 {
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l18b: ldo18 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l19b: ldo19 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
compatible = "qcom,pm8350c-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
vreg_s1c: smps1 {
|
||||
regulator-min-microvolt = <2190000>;
|
||||
regulator-max-microvolt = <2210000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_s9c: smps9 {
|
||||
regulator-min-microvolt = <1010000>;
|
||||
regulator-max-microvolt = <1170000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l1c: ldo1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1980000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l2c: ldo2 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1950000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l3c: ldo3 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l4c: ldo4 {
|
||||
regulator-min-microvolt = <1620000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l5c: ldo5 {
|
||||
regulator-min-microvolt = <1620000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6c: ldo6 {
|
||||
regulator-min-microvolt = <1650000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c: ldo7 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l8c: ldo8 {
|
||||
regulator-min-microvolt = <1620000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
/* Hall sensor VDD */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vreg_l9c: ldo9 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10c: ldo10 {
|
||||
regulator-min-microvolt = <720000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l11c: ldo11 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l12c: ldo12 {
|
||||
regulator-min-microvolt = <1650000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l13c: ldo13 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3544000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_bob: bob {
|
||||
regulator-min-microvolt = <3008000>;
|
||||
regulator-max-microvolt = <3960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dispcc {
|
||||
/* Disable for now so simple-framebuffer continues working */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gcc {
|
||||
protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
|
||||
<GCC_EDP_CLKREF_EN>,
|
||||
<GCC_MSS_CFG_AHB_CLK>,
|
||||
<GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
|
||||
<GCC_MSS_OFFLINE_AXI_CLK>,
|
||||
<GCC_MSS_Q6SS_BOOT_CLK_SRC>,
|
||||
<GCC_MSS_Q6_MEMNOC_AXI_CLK>,
|
||||
<GCC_MSS_SNOC_AXI_CLK>,
|
||||
<GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
|
||||
<GCC_QSPI_CORE_CLK>,
|
||||
<GCC_QSPI_CORE_CLK_SRC>,
|
||||
<GCC_SEC_CTRL_CLK_SRC>,
|
||||
<GCC_WPSS_AHB_BDG_MST_CLK>,
|
||||
<GCC_WPSS_AHB_CLK>,
|
||||
<GCC_WPSS_RSCP_CLK>;
|
||||
};
|
||||
|
||||
&gpi_dma0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpi_dma1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
/* PM8008 PMIC @ 8 and 9 */
|
||||
/* Pixelworks @ 26 */
|
||||
/* FSA4480 USB audio switch @ 42 */
|
||||
/* AW86927FCR haptics @ 5a */
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
|
||||
/* AW88261FCR amplifier @ 34 */
|
||||
/* AW88261FCR amplifier @ 35 */
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
|
||||
/* PTN36502 USB redriver @ 1a */
|
||||
};
|
||||
|
||||
&i2c9 {
|
||||
status = "okay";
|
||||
|
||||
/* ST21NFC NFC @ 28 */
|
||||
/* VL53L3 ToF @ 29 */
|
||||
};
|
||||
|
||||
&ipa {
|
||||
qcom,gsi-loader = "self";
|
||||
memory-region = <&ipa_fw_mem>;
|
||||
firmware-name = "qcom/qcm6490/fairphone5/ipa_fws.mdt";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pm7325_gpios {
|
||||
volume_down_default: volume-down-default-state {
|
||||
pins = "gpio6";
|
||||
function = PMIC_GPIO_FUNC_NORMAL;
|
||||
power-source = <1>;
|
||||
bias-pull-up;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
&pm8350c_flash {
|
||||
status = "okay";
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_FLASH;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
led-sources = <1>, <4>;
|
||||
led-max-microamp = <500000>;
|
||||
flash-max-microamp = <1500000>;
|
||||
flash-max-timeout-us = <1280000>;
|
||||
};
|
||||
};
|
||||
|
||||
&pmk8350_rtc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pon_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pon_resin {
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qup_spi13_cs {
|
||||
drive-strength = <6>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qup_spi13_data_clk {
|
||||
drive-strength = <6>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qup_uart5_rx {
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qup_uart5_tx {
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qupv3_id_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qupv3_id_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdc2_clk {
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&sdc2_cmd {
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&sdc2_data {
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
vmmc-supply = <&vreg_l9c>;
|
||||
vqmmc-supply = <&vreg_l6c>;
|
||||
|
||||
pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>;
|
||||
pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi13 {
|
||||
status = "okay";
|
||||
|
||||
/* Goodix touchscreen @ 0 */
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
/*
|
||||
* 32-33: SMB1394 (SPMI)
|
||||
* 56-59: fingerprint reader (SPI)
|
||||
*/
|
||||
gpio-reserved-ranges = <32 2>, <56 4>;
|
||||
|
||||
bluetooth_enable_default: bluetooth-enable-default-state {
|
||||
pins = "gpio85";
|
||||
function = "gpio";
|
||||
output-low;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
hall_sensor_default: hall-sensor-default-state {
|
||||
pins = "gpio155";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
|
||||
pins = "gpio28";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure a bias-bus-hold on CTS to lower power
|
||||
* usage when Bluetooth is turned off. Bus hold will
|
||||
* maintain a low power state regardless of whether
|
||||
* the Bluetooth module drives the pin in either
|
||||
* direction or leaves the pin fully unpowered.
|
||||
*/
|
||||
bias-bus-hold;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
|
||||
pins = "gpio29";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure pull-down on RTS. As RTS is active low
|
||||
* signal, pull it low to indicate the BT SoC that it
|
||||
* can wakeup the system anytime from suspend state by
|
||||
* pulling RX low (by sending wakeup bytes).
|
||||
*/
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
|
||||
pins = "gpio30";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure pull-up on TX when it isn't actively driven
|
||||
* to prevent BT SoC from receiving garbage during sleep.
|
||||
*/
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
|
||||
pins = "gpio31";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure a pull-up on RX. This is needed to avoid
|
||||
* garbage data when the TX pin of the Bluetooth module
|
||||
* is floating which may cause spurious wakeups.
|
||||
*/
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
sw_ctrl_default: sw-ctrl-default-state {
|
||||
pins = "gpio86";
|
||||
function = "gpio";
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
compatible = "qcom,geni-debug-uart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
/delete-property/interrupts;
|
||||
interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
status = "okay";
|
||||
|
||||
bluetooth: bluetooth {
|
||||
compatible = "qcom,wcn6750-bt";
|
||||
|
||||
pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
|
||||
swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
vddio-supply = <&vreg_l19b>;
|
||||
vddaon-supply = <&vreg_s7b>;
|
||||
vddbtcxmx-supply = <&vreg_s7b>;
|
||||
vddrfacmn-supply = <&vreg_s7b>;
|
||||
vddrfa0p8-supply = <&vreg_s7b>;
|
||||
vddrfa1p7-supply = <&vreg_s1b>;
|
||||
vddrfa1p2-supply = <&vreg_s8b>;
|
||||
vddrfa2p2-supply = <&vreg_s1c>;
|
||||
vddasd-supply = <&vreg_l11c>;
|
||||
|
||||
max-speed = <3200000>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_dwc3 {
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
&usb_1_hsphy {
|
||||
vdda-pll-supply = <&vreg_l10c>;
|
||||
vdda18-supply = <&vreg_l1c>;
|
||||
vdda33-supply = <&vreg_l2b>;
|
||||
|
||||
qcom,hs-crossover-voltage-microvolt = <28000>;
|
||||
qcom,hs-output-impedance-micro-ohms = <2600000>;
|
||||
qcom,hs-rise-fall-time-bp = <5430>;
|
||||
qcom,hs-disconnect-bp = <1743>;
|
||||
qcom,hs-amplitude-bp = <2430>;
|
||||
|
||||
qcom,pre-emphasis-amplitude-bp = <20000>;
|
||||
qcom,pre-emphasis-duration-bp = <20000>;
|
||||
|
||||
qcom,squelch-detector-bp = <(-2090)>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_qmpphy {
|
||||
vdda-phy-supply = <&vreg_l6b>;
|
||||
vdda-pll-supply = <&vreg_l1b>;
|
||||
|
||||
status = "okay";
|
||||
};
|
Loading…
Reference in New Issue
Block a user