From 6e09c43dd26387a78542b454a5d95305af4122ca Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Sun, 7 Jan 2024 22:37:05 +0530 Subject: [PATCH] btfm: dts: msm: Add support for WCN788x Add support for WCN788x Change-Id: I4bda39109e553cfacd32b15235b6f58ce803bb8a Signed-off-by: Hemant Gupta --- Kbuild | 1 + sun-wcn788x-v8.dts | 17 ++++++++ sun-wcn788x-v8.dtsi | 96 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 sun-wcn788x-v8.dts create mode 100644 sun-wcn788x-v8.dtsi diff --git a/Kbuild b/Kbuild index afbc4195..4318b43d 100644 --- a/Kbuild +++ b/Kbuild @@ -7,6 +7,7 @@ dtbo-y += sun-peach-bt.dtbo dtbo-y += sun-kiwi-bt.dtbo dtbo-y += sun-peach-bt-v8.dtbo dtbo-y += sun-kiwi-bt-v8.dtbo +dtbo-y += sun-wcn788x-v8.dtbo endif always-y := $(dtb-y) $(dtbo-y) diff --git a/sun-wcn788x-v8.dts b/sun-wcn788x-v8.dts new file mode 100644 index 00000000..f74fde62 --- /dev/null +++ b/sun-wcn788x-v8.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "sun-wcn788x-v8.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun SoCs"; + compatible = "qcom,sun", "qcom,sunp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x30008 0>, <0x40001 0>; +}; diff --git a/sun-wcn788x-v8.dtsi b/sun-wcn788x-v8.dtsi new file mode 100644 index 00000000..14952ca7 --- /dev/null +++ b/sun-wcn788x-v8.dtsi @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&pm8550ve_f_gpios { + bt_en: bt_en { + pins = "gpio3"; + function = "normal"; + input-disable; + output-enable; + bias-disable; + power-source = <1>; + }; +}; + +&tlmm { + cnss_bt_sw_ctrl: cnss_wlan_sw_ctrl { + mux { + pins = "gpio18"; + function = "wcn_sw_ctrl"; + }; + }; +}; + +&soc { + bluetooth: wcn788x { + compatible = "qcom,wcn788x"; + qcom,wcn788x; + pinctrl-names = "bt_en", "sw_ctrl"; + pinctrl-0 = <&bt_en>; + pinctrl-1 = <&cnss_bt_sw_ctrl>; + /* List of GPIOs to be setup for interrupt wakeup capable*/ + mpm_wake_set_gpios = <18>; + qcom,wl-reset-gpio = <&tlmm 16 0>; /* WL_EN */ + qcom,bt-sw-ctrl-gpio = <&tlmm 18 0>; /* SW_CTRL */ + qcom,bt-reset-gpio = <&pm8550ve_f_gpios 3 0>; /* BT_EN */ + qcom,qmp = <&aoss_qmp>; + + qcom,bt-vdd18-aon-supply = <&L3F>; /* VDD1P8_AON */ + qcom,bt-vdd12-io-supply = <&L2F>; /* VDD1P2_IO */ + qcom,bt-ant-ldo-supply = <&L6K>; /* AV91C_VDD Extractor */ + qcom,bt-vdd-dig-supply = <&S5F>; /* BT CX_MX LDO */ + qcom,bt-vdd-aon-supply = <&S5F>; /* RFA_CMN/AON */ + qcom,bt-vdd-rfa0p75-supply = <&S5F>; /* RFA_OP75 */ + qcom,bt-vdd-rfa1p8-supply = <&S3G>; /* RFA_1P8 */ + qcom,bt-vdd-rfa1p25-supply = <&S7I>; /* RFA_1P2 */ + + qcom,bt-vdd18-aon-config = <1800000 1800000 0 1>; + qcom,bt-vdd12-io-config = <1200000 1200000 0 1>; + qcom,bt-ant-ldo-config = <1800000 1860000 0 1>; + qcom,bt-vdd-aon-config = <876000 1000000 0 1>; + qcom,bt-vdd-dig-config = <876000 1000000 0 1>; + qcom,bt-vdd-rfa0p75-config = <876000 1000000 0 1>; + qcom,bt-vdd-rfa1p8-config = <1860000 2000000 0 1>; + qcom,bt-vdd-rfa1p25-config = <1312000 1340000 0 1>; + + qcom,pdc_init_table= + "{class: wlan_pdc, ss: rf, res: s5f.v, upval: 876}", + "{class: wlan_pdc, ss: rf, res: s5f.v, dwnval:660}", + "{class: wlan_pdc, ss: rf, res: s7i.v, upval: 1312}", + "{class: wlan_pdc, ss: rf, res: s7i.v, dwnval:1244}", + "{class: wlan_pdc, ss: rf, res: s3g.v, upval: 1860}", + "{class: wlan_pdc, ss: rf, res: s3g.v, dwnval: 0}"; + }; +}; + +&swr4 { + btswr_slave: btswr-slave { + compatible = "qcom,btfmswr_slave"; + reg = <0x02 0x08170220>; + }; +}; + +// FM changes +&qupv3_se5_i2c { + status = "ok"; + nq@64 { + compatible = "rtc6226"; + reg = <0x64>; + fmint-gpio = <&tlmm 84 0>; + vdd-supply = <&L16B>; + rtc6226,vdd-supply-voltage = <2800000 2800000>; + rtc6226,vdd-load = <15000>; + vio-supply = <&L15B>; + rtc6226,vio-supply-voltage = <1800000 1800000>; + }; +}; + +//uart instance +&qupv3_se14_4uart { + status = "ok"; +}; \ No newline at end of file