diff --git a/arch/arm/boot/dts/amlogic/meson8b.dtsi b/arch/arm/boot/dts/amlogic/meson8b.dtsi index 9dae426dcd63..0e2f788a3b6e 100644 --- a/arch/arm/boot/dts/amlogic/meson8b.dtsi +++ b/arch/arm/boot/dts/amlogic/meson8b.dtsi @@ -548,8 +548,21 @@ bias-pull-up; }; }; + uart_a_pins: uart_a_pins { + mux { + groups = "uart_tx_a", "uart_rx_a", + "uart_cts_a", "uart_rts_a"; + function = "uart_a"; + }; + }; + uart_b0_pins: uart_b0_pins { + mux { + groups = "uart_tx_b0", "uart_rx_b0", + "uart_cts_b0", "uart_rts_b0"; + function = "uart_b"; + }; + }; }; - pinctrl_aobus: pinctrl@c8100084 { compatible = "amlogic,meson8b-aobus-pinctrl"; #address-cells = <1>; diff --git a/arch/arm/boot/dts/amlogic/meson8b_m200.dts b/arch/arm/boot/dts/amlogic/meson8b_m200.dts index 8e33fecea7e3..c13ce35c1d5e 100644 --- a/arch/arm/boot/dts/amlogic/meson8b_m200.dts +++ b/arch/arm/boot/dts/amlogic/meson8b_m200.dts @@ -24,12 +24,29 @@ aliases { serial0 = &uart_AO; + serial1 = &uart_A; + serial2 = &uart_B; }; memory { reg = <0x00000000 0x40000000>; linux,usable-memory = <0x00200000 0x3fe00000>; }; + bt-dev{ + compatible = "amlogic, bt-dev"; + dev_name = "bt-dev"; + status = "okay"; + gpio_reset = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; + }; + wifi{ + compatible = "amlogic, aml_wifi"; + dev_name = "aml_wifi"; + status = "okay"; + interrupt_pin = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; + interrupts = < 0 68 4>; + irq_trigger_type = "GPIO_IRQ_HIGH"; + power_on_pin = <&gpio GPIOX_11 GPIO_ACTIVE_HIGH>; + }; sdio { compatible = "amlogic, aml_sdio"; @@ -146,42 +163,6 @@ * other:reserved */ }; - - sdio { - status = "okay"; - port = <3>; - /* 0:sdio_a, - * 1:sdio_b, - * 2:sdio_c, - * 3:sdhc_a, - * 4:sdhc_b, - * 5:sdhc_c - */ - pinname = "sdio"; - ocr_avail = <0x00200080>; - /* 3.3:0x200000, 1.8+3.3:0x00200080 */ - caps = "MMC_CAP_4_BIT_DATA", - "MMC_CAP_MMC_HIGHSPEED", - "MMC_CAP_SD_HIGHSPEED", - "MMC_CAP_NONREMOVABLE", - "MMC_CAP_UHS_SDR12", - "MMC_CAP_UHS_SDR25", - "MMC_CAP_UHS_SDR50", - "MMC_CAP_UHS_SDR104", - "MMC_PM_KEEP_POWER"; - f_min = <300000>; - f_max = <100000000>; - max_req_size = <0x20000>; /* 128KB */ - card_type = <3>; - /* 0:unknown, - * 1:mmc card(include eMMC), - * 2:sd card(include tSD), - * 3:sdio device(ie:sdio-wifi), - * 4:SD combo (IO+mem) card, - * 5:NON sdio device(means sd/mmc card), - * other:reserved - */ - }; }; cpufreq-meson{ @@ -354,6 +335,16 @@ pinctrl-0 = <&uart_ao_a_pins>; pinctrl-names = "default"; }; +&uart_A { + status = "okay"; + pinctrl-0 = <&uart_a_pins>; + pinctrl-names = "default"; +}; +&uart_B { + status = "okay"; + pinctrl-0 = <&uart_b0_pins>; + pinctrl-names = "default"; +}; &i2c_a { status = "ok"; }; diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts index 28ee87bf2fa8..ea844f42eecc 100644 --- a/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts +++ b/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts @@ -128,6 +128,13 @@ }; }; + bt-dev{ + compatible = "amlogic, bt-dev"; + dev_name = "bt-dev"; + status = "okay"; + gpio_reset = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; + }; + wifi{ compatible = "amlogic, aml_wifi"; dev_name = "aml_wifi"; diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts index 9cfbae5d002b..984da7b024be 100644 --- a/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts +++ b/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts @@ -129,6 +129,13 @@ }; }; + bt-dev{ + compatible = "amlogic, bt-dev"; + dev_name = "bt-dev"; + status = "okay"; + gpio_reset = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; + }; + wifi{ compatible = "amlogic, aml_wifi"; dev_name = "aml_wifi"; diff --git a/drivers/amlogic/bluetooth/Kconfig b/drivers/amlogic/bluetooth/Kconfig index f8794c1a99ed..ab1afc8de8a5 100644 --- a/drivers/amlogic/bluetooth/Kconfig +++ b/drivers/amlogic/bluetooth/Kconfig @@ -1,6 +1,6 @@ comment "Amlogic Bt Rfkill Driver" -menuconfig AMLOGIC_BT_DEVICE +config AMLOGIC_BT_DEVICE bool "BT Device support" depends on BT && RFKILL default n