diff --git a/Kbuild b/Kbuild old mode 100755 new mode 100644 index 45071359..06e4e5b5 --- a/Kbuild +++ b/Kbuild @@ -15,6 +15,12 @@ ifeq ($(CONFIG_ARCH_RAVELIN), y) dtbo-y += ravelin-bt.dtbo endif +ifeq ($(CONFIG_ARCH_PARROT), y) +dtbo-y += parrot-wcn3990-bt.dtbo +dtbo-y += parrot-wcn6750-bt.dtbo +endif + always-y := $(dtb-y) $(dtbo-y) subdir-y := $(dts-dirs) clean-files := *.dtb *.dtbo + diff --git a/parrot-wcn3990-bt.dts b/parrot-wcn3990-bt.dts new file mode 100644 index 00000000..3ca56979 --- /dev/null +++ b/parrot-wcn3990-bt.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "parrot-wcn3990-bt.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Parrot SoC"; + compatible = "qcom,parrot"; + qcom,msm-id = <537 0x10000>, <583 0x10000>, <613 0x10000>, <631 0x10000>, <633 0x10000>, <634 0x10000>, <638 0x10000>, <663 0x10000>; + qcom,board-id = <33 0>, <34 1>, <34 3>, <34 0x601>, <34 0x603>; +}; + diff --git a/parrot-wcn3990-bt.dtsi b/parrot-wcn3990-bt.dtsi new file mode 100644 index 00000000..2633619c --- /dev/null +++ b/parrot-wcn3990-bt.dtsi @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include +#include + +&soc { + bluetooth: bt_wcn3990 { + compatible = "qcom,wcn3990"; + qcom,bt-sw-ctrl-gpio = <&tlmm 61 GPIO_ACTIVE_HIGH>; + qcom,bt-vdd-io-supply = <&L22B>; /* IO */ + qcom,bt-vdd-core-supply = <&L14B>; /* RFA */ + qcom,bt-vdd-pa-supply = <&L10E>; /* CH0 */ + qcom,bt-vdd-xtal-supply = <&L1E>; /* XO */ + + qcom,bt-vdd-io-config = <1700000 1900000 1 0>; + qcom,bt-vdd-core-config = <1304000 1304000 1 0>; + qcom,bt-vdd-pa-config = <3000000 3312000 1 0>; + qcom,bt-vdd-xtal-config = <1700000 1900000 1 0>; + }; + + slim_msm: slim@3340000 { + 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>; + qcom,btslimrx-channels = <157 158>; + }; + }; + }; +}; + +//FM changes +&qupv3_se2_i2c { + status = "ok"; + nq@64 { + compatible = "rtc6226"; + reg = <0x64>; + fmint-gpio = <&tlmm 105 0>; + vdd-supply = <&L5E>; + rtc6226,vdd-supply-voltage = <2800000 2800000>; + rtc6226,vdd-load = <15000>; + vio-supply = <&L22B>; + rtc6226,vio-supply-voltage = <1800000 1800000>; + }; +}; + +//uart instance +&qupv3_se11_4uart { + status = "ok"; +}; + + diff --git a/parrot-wcn6750-bt.dts b/parrot-wcn6750-bt.dts new file mode 100644 index 00000000..14900c3f --- /dev/null +++ b/parrot-wcn6750-bt.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "parrot-wcn6750-bt.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Parrot SoC"; + compatible = "qcom,parrot"; + qcom,msm-id = <537 0x10000>, <583 0x10000>, <613 0x10000>, <631 0x10000>, <633 0x10000>, <634 0x10000>, <638 0x10000>, <663 0x10000>; + qcom,board-id = <34 0>, <34 2>, <34 4>, <34 5>, <34 6>, <34 0x600>, <34 0x602>, <34 0x604>, <0x1000B 1>, <0x1000B 2>, <0x1000B 0x601>; +}; + diff --git a/parrot-wcn6750-bt.dtsi b/parrot-wcn6750-bt.dtsi new file mode 100644 index 00000000..9dffa707 --- /dev/null +++ b/parrot-wcn6750-bt.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#include + +&soc { + bluetooth: bt_wcn6750 { + compatible = "qcom,wcn6750-bt"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_sleep>; + qcom,bt-reset-gpio = <&tlmm 35 0>; /* BT_EN */ + qcom,bt-sw-ctrl-gpio = <&tlmm 61 0>; /* SW_CTRL */ + qcom,wl-reset-gpio = <&tlmm 36 0>; /* WL_EN */ + tsens = "quiet-therm"; + + qcom,bt-vdd-io-supply = <&L22B>; /* IO */ + qcom,bt-vdd-aon-supply = <&S7B>; + qcom,bt-vdd-dig-supply = <&S7B>; /* BT_CX_MX */ + qcom,bt-vdd-rfacmn-supply = <&S7B>; + qcom,bt-vdd-rfa-0p8-supply = <&S7B>; + qcom,bt-vdd-rfa1-supply = <&S8E>; /*RFA 1p7*/ + qcom,bt-vdd-rfa2-supply = <&S8B>; /*RFA 1p2*/ + qcom,bt-vdd-ipa-2p2-supply = <&S9B>; /*IPA 2p2*/ + //qcom,bt-vdd-asd-supply = <&L11C>; + + /* max voltage are set to regulator max voltage supported */ + qcom,bt-vdd-io-config = <1800000 2000000 0 1>; + qcom,bt-vdd-aon-config = <824000 1174000 0 1>; + qcom,bt-vdd-dig-config = <824000 1174000 0 1>; + qcom,bt-vdd-rfacmn-config = <824000 1174000 0 1>; + qcom,bt-vdd-rfa-0p8-config = <824000 1174000 0 1>; + qcom,bt-vdd-rfa1-config = <1872000 2040000 0 1>; + qcom,bt-vdd-rfa2-config = <1256000 1654000 0 1>; + qcom,bt-vdd-ipa-2p2-config = <2200000 2208000 0 1>; + //qcom,bt-vdd-asd-config = <2800000 3544000 0 1>; + }; + + slim_msm: slim@3340000 { + 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>; + qcom,btslimrx-channels = <157 158>; + }; + }; + }; +}; + +//FM changes +&qupv3_se2_i2c { + status = "ok"; + nq@64 { + compatible = "rtc6226"; + reg = <0x64>; + fmint-gpio = <&tlmm 105 0>; + vdd-supply = <&L5E>; + rtc6226,vdd-supply-voltage = <2800000 2800000>; + rtc6226,vdd-load = <15000>; + vio-supply = <&L22B>; + rtc6226,vio-supply-voltage = <1800000 1800000>; + }; +}; + +//uart instance +&qupv3_se11_4uart { + status = "ok"; +}; +