From c45e899c16b8118be0499561409c3ee7806bb6d8 Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Thu, 21 Dec 2023 16:16:13 +0530 Subject: [PATCH] btfm: dts: msm: Add device tree entries for sun target Add initial device tree entries for sun target Change-Id: I5bda39009e553cfacd32b15235b6f58ce803bb9a Signed-off-by: Hemant Gupta --- Kbuild | 13 ++++ Makefile | 9 +++ bindings/bluetooth/btfm_slim.txt | 16 +++++ bindings/bluetooth/btpower.txt | 60 ++++++++++++++++++ bindings/bt-fm/rtc6226_fm.txt | 13 ++++ pineapple-kiwi-bt.dts | 17 +++++ pineapple-kiwi-bt.dtsi | 98 +++++++++++++++++++++++++++++ sun-kiwi-bt.dts | 17 +++++ sun-kiwi-bt.dtsi | 105 +++++++++++++++++++++++++++++++ sun-peach-bt-v8.dts | 18 ++++++ sun-peach-bt-v8.dtsi | 96 ++++++++++++++++++++++++++++ sun-peach-bt.dts | 18 ++++++ sun-peach-bt.dtsi | 101 +++++++++++++++++++++++++++++ 13 files changed, 581 insertions(+) create mode 100644 Kbuild create mode 100644 Makefile create mode 100644 bindings/bluetooth/btfm_slim.txt create mode 100644 bindings/bluetooth/btpower.txt create mode 100644 bindings/bt-fm/rtc6226_fm.txt create mode 100644 pineapple-kiwi-bt.dts create mode 100644 pineapple-kiwi-bt.dtsi create mode 100644 sun-kiwi-bt.dts create mode 100644 sun-kiwi-bt.dtsi create mode 100644 sun-peach-bt-v8.dts create mode 100644 sun-peach-bt-v8.dtsi create mode 100644 sun-peach-bt.dts create mode 100644 sun-peach-bt.dtsi diff --git a/Kbuild b/Kbuild new file mode 100644 index 00000000..3533af96 --- /dev/null +++ b/Kbuild @@ -0,0 +1,13 @@ +ifeq ($(CONFIG_ARCH_PINEAPPLE),y) +dtbo-y += pineapple-kiwi-bt.dtbo +endif + +ifeq ($(CONFIG_ARCH_SUN), y) +dtbo-y += sun-peach-bt.dtbo +dtbo-y += sun-kiwi-bt.dtbo +dtbo-y += sun-peach-bt-v8.dtbo +endif + +always-y := $(dtb-y) $(dtbo-y) +subdir-y := $(dts-dirs) +clean-files := *.dtb *.dtbo diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..ef33f916 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +KBUILD_OPTIONS += KBUILD_EXTMOD_DTS=. + +all: dtbs + +clean: + $(MAKE) -C $(KERNEL_SRC) M=$(M) clean + +%: + $(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS) diff --git a/bindings/bluetooth/btfm_slim.txt b/bindings/bluetooth/btfm_slim.txt new file mode 100644 index 00000000..2f116b5a --- /dev/null +++ b/bindings/bluetooth/btfm_slim.txt @@ -0,0 +1,16 @@ +* BTFM Slimbus Slave Driver +BTFM Slimbus Slave driver configure and initialize slimbus slave device. +Bluetooth A2DP, SCO and FM Audio data is transferred over slimbus interface. + +Required properties: + - compatible: Should be set to the following where 217 is manufacture id and 221 is prod id: + ex. HSP elmental address is 0x000120021702 + compatible = "slim217,221" + - reg should be filled as per specs + reg = <1 0>; + +Example: + slimbus: btfmslim-driver { + compatible = "slim217,221"; + reg = <1 0>; + }; diff --git a/bindings/bluetooth/btpower.txt b/bindings/bluetooth/btpower.txt new file mode 100644 index 00000000..c0227c2b --- /dev/null +++ b/bindings/bluetooth/btpower.txt @@ -0,0 +1,60 @@ +* Bluetooth Controller +Bluetooth controller communicates with the Bluetooth Host using HCI Transport +layer. HCI Transport layer can be based on UART or USB serial communication +protocol. + +Required properties: +- compatible: "qcom," + chip: Should be set to one of the following: + qcom,qca6174 + qcom,wcn3990 + qcom,qca6390 + qcom,qca6490 + qcom,kiwi + - qcom,bt-reset-gpio: GPIO pin to bring BT Controller out of reset + +Optional properties: + - qcom,xo-clk-gpio: GPIO for enabling clock at bootstrap + - qcom,bt-vdd-pa-supply: Bluetooth VDD PA regulator handle + - qcom,bt-vdd-io-supply: Bluetooth VDD IO regulator handle + - qcom,bt-vdd-ldo-supply: Bluetooth VDD LDO regulator handle. Kept under + optional parameters as some of the chipsets doesn't require ldo + or it may use from same vddio. + - qcom,bt-vdd-xtal-supply: Bluetooth VDD XTAL regulator handle + - qcom,bt-vdd-core-supply: Bluetooth VDD CORE regulator handle + - qcom,bt-vdd-asd-supply: Bluetooth VDD regulator handle for antenna switch + - reg: Memory regions defined as starting address and size + - reg-names: Names of the memory regions defined in reg entry + diversity. + - qcom,bt-chip-pwd-supply: Chip power down gpio is required when bluetooth + module and other modules like wifi co-exist in a singe chip and + shares a common gpio to bring chip out of reset. + - qcom,-config: Specifies voltage/current levels for supply. Should specified + in pairs (min, max), units uV. There can be optional + load in curr, unit uA. Last entry specifies if the retention + mode is supported for the regulator. + - mboxes: Specifies mbox channel data for AOP messaging + - qcom,vreg_ipa: Specifies Voltage regulator used for QCA6490 Internal Power + Amp config + +Example: + bluetooth: bt_qca6490 { + compatible = "qcom,qca6390", "qcom,qca6490"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_sleep>; + qcom,bt-reset-gpio = <&tlmm 81 0>; /* BT_EN */ + qcom,wl-reset-gpio = <&tlmm 80 0>; /* WL_EN */ + qcom,bt-sw-ctrl-gpio = <&tlmm 82 0>; /* SW_CTRL */ + qcom,bt-xo-clk-gpio = <&tlmm 204 0>; /* XO */ + qcom,bt-vdd-aon-supply = <&S11B>; + qcom,bt-vdd-dig-supply = <&S11B>; + qcom,bt-vdd-rfa1-supply = <&S1C>; + qcom,bt-vdd-rfa2-supply = <&S12B>; + qcom,bt-vdd-asd-supply = <&L7E>; + + qcom,bt-vdd-aon-config = <966000 966000 0 1>; + qcom,bt-vdd-dig-config = <966000 966000 0 1>; + qcom,bt-vdd-rfa1-config = <1880000 1880000 0 1>; + qcom,bt-vdd-rfa2-config = <1350000 1350000 0 1>; + qcom,bt-vdd-asd-config = <2800000 2800000 0 1>; + }; diff --git a/bindings/bt-fm/rtc6226_fm.txt b/bindings/bt-fm/rtc6226_fm.txt new file mode 100644 index 00000000..d77417bf --- /dev/null +++ b/bindings/bt-fm/rtc6226_fm.txt @@ -0,0 +1,13 @@ +Richwave FM radio device + +-FM RX playback with RDS +FM signal is demodulated then audio L/R samples are sent to external audio codec. +FM Rx RDS data received sent to host processor on I2C. + +Required Properties: +- compatible: "rtc6226" + +Example: + rtc6226 { + compatible = "rtc6226"; + }; diff --git a/pineapple-kiwi-bt.dts b/pineapple-kiwi-bt.dts new file mode 100644 index 00000000..9243e7b4 --- /dev/null +++ b/pineapple-kiwi-bt.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "pineapple-kiwi-bt.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Pineapple SoCs"; + compatible = "qcom,pineapple", "qcom,pineapplep"; + qcom,msm-id = <557 0x10000>, <577 0x10000>, <557 0x20000>, <577 0x20000>; + qcom,board-id = <0 0>; +}; diff --git a/pineapple-kiwi-bt.dtsi b/pineapple-kiwi-bt.dtsi new file mode 100644 index 00000000..17018223 --- /dev/null +++ b/pineapple-kiwi-bt.dtsi @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&tlmm { + bt_en_sleep: bt_en_sleep { + mux { + pins = "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; + output-low; + bias-pull-down; + }; + }; +}; + +&soc { + bluetooth: bt_kiwi { + compatible = "qcom,kiwi"; + pinctrl-names = "bt_en_sleep"; + pinctrl-0 = <&bt_en_sleep>; + /* List of GPIOs to be setup for interrupt wakeup capable*/ + mpm_wake_set_gpios = <18>; + qcom,bt-reset-gpio = <&tlmm 17 0>; /* BT_EN */ + qcom,wl-reset-gpio = <&tlmm 16 0>; /* WL_EN */ + qcom,bt-sw-ctrl-gpio = <&tlmm 18 0>; /* SW_CTRL */ + mboxes = <&qmp_aop 0>; + + qcom,bt-vdd18-aon-supply = <&L15B>; /* BT VDD1.8 AON */ + qcom,bt-vdd12-io-supply = <&L3C>; /* BT VDD1.2V IO */ + qcom,bt-ant-ldo-supply = <&L6K>; /* BT ANT */ + qcom,bt-vdd-dig-supply = <&S3C>; /* BT LDO*/ + qcom,bt-vdd-aon-supply = <&S3C>; /* BT AON LDO*/ + qcom,bt-vdd-rfaOp8-supply = <&S3C>; /* BT RFAOp8 CMN LDO*/ + qcom,bt-vdd-rfa1-supply = <&S1C>; /* BT RFA1.2 LDO */ + qcom,bt-vdd-rfa2-supply = <&S6C>; /* BT RFA1.8 LDO */ + + qcom,bt-vdd18-aon-config = <1800000 1800000 0 1>; + qcom,bt-vdd12-io-config = <1200000 1200000 0 1>; + qcom,bt-ant-ldo-config = <1800000 1800000 0 1>; + qcom,bt-vdd-aon-config = <916000 916000 0 1>; + qcom,bt-vdd-dig-config = <916000 916000 0 1>; + qcom,bt-vdd-rfaOp8-config = <916000 916000 0 1>; + qcom,bt-vdd-rfa1-config = <1316000 1316000 0 1>; + qcom,bt-vdd-rfa2-config = <1864000 1864000 0 1>; + qcom,pdc_init_table= + "{class: wlan_pdc, ss: rf, res: s3c.v, upval: 916}", + "{class: wlan_pdc, ss: rf, res: s3c.v, dwnval: 612}", + "{class: wlan_pdc, ss: rf, res: s1c.v, upval: 1316}", + "{class: wlan_pdc, ss: rf, res: s1c.v, dwnval: 944}", + "{class: wlan_pdc, ss: rf, res: s6c.v, upval: 1864}", + "{class: wlan_pdc, ss: rf, res: s6c.v, dwnval: 1820}"; + }; + slim_msm: slim@6C40000 { + status = "ok"; + ngd@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <1>; + //slimbus child nodes + slimbus: btfmslim-driver { + compatible = "slim217,221"; + reg = <1 0>; + qcom,btslim-address = <0x0>; /* BT SLIM EP address*/ + qcom,btslimtx-channels = <159 160>; /* slimbus FM_Tx, SCO_Tx channels */ + qcom,btslimrx-channels = <157 158>; /* slimbus SCO_A2DP_Rx A2DP_Rx */ + }; + }; + }; +}; + +// FM changes +&qupv3_se6_i2c { + status = "ok"; + nq@64 { + compatible = "rtc6226"; + reg = <0x64>; + fmint-gpio = <&tlmm 85 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"; +}; diff --git a/sun-kiwi-bt.dts b/sun-kiwi-bt.dts new file mode 100644 index 00000000..94f693ff --- /dev/null +++ b/sun-kiwi-bt.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "sun-kiwi-bt.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun SoCs"; + compatible = "qcom,sun", "qcom,sunp", "qcom,sun-mtp", "qcom,sun-cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x20001 0>, <0x20008 0>; +}; diff --git a/sun-kiwi-bt.dtsi b/sun-kiwi-bt.dtsi new file mode 100644 index 00000000..cbb6cb43 --- /dev/null +++ b/sun-kiwi-bt.dtsi @@ -0,0 +1,105 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&pm8550vs_f_gpios { + bt_uwb_en: bt_uwb_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: bt_kiwi { + compatible = "qcom,kiwi"; + pinctrl-names = "bt_uwb_en", "sw_ctrl"; + pinctrl-0 = <&bt_uwb_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 = <&pm8550vs_f_gpios 3 0>; /* BT_EN */ + qcom,qmp = <&aoss_qmp>; + + qcom,bt-vdd18-aon-supply = <&L3F>; /* BT VDD1.8 AON */ + qcom,bt-vdd12-io-supply = <&L2F>; /* BT VDD1.2V IO */ + qcom,bt-ant-ldo-supply = <&L6K>; /* BT ANT - AV91C_VDD */ + qcom,bt-vdd-aon-supply = <&S1D>; /* BT AON LDO*/ + qcom,bt-vdd-rfaOp8-supply = <&S1D>; /* BT RFAOp8 CMN LDO*/ + qcom,bt-vdd-rfa1-supply = <&S7I>; /* BT RFA1.2 LDO */ + qcom,bt-vdd-rfa2-supply = <&S3G>; /* BT RFA1.8 LDO */ + + qcom,bt-vdd18-aon-config = <1800000 1800000 0 1>; + qcom,bt-vdd12-io-config = <1200000 1200000 0 1>; + qcom,bt-ant-ldo-config = <1800000 1800000 0 1>; + qcom,bt-vdd-aon-config = <916000 1100000 0 1>; + qcom,bt-vdd-rfaOp8-config = <916000 1100000 0 1>; + qcom,bt-vdd-rfa1-config = <1316000 1340000 0 1>; + qcom,bt-vdd-rfa2-config = <1864000 2000000 0 1>; + + qcom,pdc_init_table = + "{class: wlan_pdc, ss: rf, res: s3g.v, upval: 1856}", + "{class: wlan_pdc, ss: rf, res: s3g.v, dwnval: 1844}", + "{class: wlan_pdc, ss: rf, res: s7i.v, upval: 1316}", + "{class: wlan_pdc, ss: rf, res: s7i.v, dwnval: 972}", + "{class: wlan_pdc, ss: rf, res: s1d.m, enable: 1}", + "{class: wlan_pdc, ss: rf, res: s1d.v, enable: 1}", + "{class: wlan_pdc, ss: rf, res: s1d.v, upval: 916}", + "{class: wlan_pdc, ss: rf, res: s1d.v, dwnval: 880}"; + }; + + slim_msm: slim@6C40000 { + status = "ok"; + ngd@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <1>; + //slimbus child nodes + slimbus: btfmslim-driver { + compatible = "slim217,221"; + reg = <1 0>; + qcom,btslim-address = <0x0>; /* BT SLIM EP address*/ + qcom,btslimtx-channels = <159 160>; /* slimbus FM_Tx, SCO_Tx channels */ + qcom,btslimrx-channels = <157 158>; /* slimbus SCO_A2DP_Rx A2DP_Rx */ + }; + }; + }; +}; + +// 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"; +}; diff --git a/sun-peach-bt-v8.dts b/sun-peach-bt-v8.dts new file mode 100644 index 00000000..9618747b --- /dev/null +++ b/sun-peach-bt-v8.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "sun-peach-bt-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 = <0x50001 0>, <0x40008 0>, <0x3000B 0>; +}; diff --git a/sun-peach-bt-v8.dtsi b/sun-peach-bt-v8.dtsi new file mode 100644 index 00000000..b1dd995f --- /dev/null +++ b/sun-peach-bt-v8.dtsi @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&pm8550vs_f_gpios { + bt_uwb_en: bt_uwb_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: bt_peach { + compatible = "qcom,peach-bt"; + qcom,peach-bt; + pinctrl-names = "bt_uwb_en", "sw_ctrl"; + pinctrl-0 = <&bt_uwb_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 = <&pm8550vs_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"; +}; diff --git a/sun-peach-bt.dts b/sun-peach-bt.dts new file mode 100644 index 00000000..e3c8f133 --- /dev/null +++ b/sun-peach-bt.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "sun-peach-bt.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 = <1 0>, <8 0>, <0x1000B 0>, <0x2000B 0>, <0x3000B 0>; +}; diff --git a/sun-peach-bt.dtsi b/sun-peach-bt.dtsi new file mode 100644 index 00000000..8c00394a --- /dev/null +++ b/sun-peach-bt.dtsi @@ -0,0 +1,101 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&pm8550vs_f_gpios { + bt_uwb_en: bt_uwb_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: bt_peach { + compatible = "qcom,peach-bt"; + qcom,peach-bt; + pinctrl-names = "bt_uwb_en", "sw_ctrl"; + pinctrl-0 = <&bt_uwb_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 = <&pm8550vs_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 = <&S4J>; /* BT CX_MX LDO */ + qcom,bt-vdd-aon-supply = <&S4J>; /* RFA_CMN/AON */ + qcom,bt-vdd-rfa0p75-supply = <&S4J>; /* 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: s4j.v, upval: 876}", + "{class: wlan_pdc, ss: rf, res: s4j.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"; +}; + +//q2spi instance +&qupv3_se13_q2spi { + status = "ok"; +};