diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi index 74e34b84419a..048d96cfd1a2 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi @@ -581,7 +581,7 @@ sdhci1: mmc@fa00000 { ti,itap-del-sel-sdr12 = <0xa>; ti,itap-del-sel-sdr25 = <0x1>; ti,clkbuf-sel = <0x7>; - bus-width = <4>; + bus-width = <1>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts index b1737978103b..9b617259261b 100644 --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts @@ -13,6 +13,11 @@ / { compatible = "ti,am625-sk", "ti,am625"; model = "Texas Instruments AM625 SK"; + aliases { + serial4 = &main_uart4; + gpio2 = &mcu_gpio0; + }; + opp-table { /* Add 1.4GHz OPP for am625-sk board. Requires VDD_CORE to be at 0.85V */ opp-1400000000 { @@ -68,9 +73,10 @@ vdd_mmc1: regulator-3 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; - enable-active-high; + /* enable-active-high; */ vin-supply = <&vcc_3v3_sys>; - gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; + regulator-always-on; + /* gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */ }; vdd_sd_dv: regulator-4 { @@ -82,7 +88,8 @@ vdd_sd_dv: regulator-4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; - vin-supply = <&vcc_5v0>; + regulator-always-on; + vin-supply = <&vcc_3v3_sys>; gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>; states = <1800000 0x0>, <3300000 0x1>; @@ -105,7 +112,7 @@ wlan_lten: regulator-6 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; vin-supply = <&vcc_3v3_sys>; - regulator-always-on; + /* regulator-always-on; */ gpios = <&exp1 11 GPIO_ACTIVE_LOW>; }; @@ -120,6 +127,19 @@ wlan_en: regulator-7 { pinctrl-names = "default"; pinctrl-0 = <&wlan_en_pins_default>; }; + + btwlan_en: regulator-8 { + compatible = "regulator-fixed"; + regulator-name = "btwlan_en"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&wlan_lten>; + enable-active-high; + gpios = <&mcu_gpio0 1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&mcu_btwlan_en_pins_default>; + }; + }; &main_pmx0 { @@ -191,6 +211,36 @@ main_wlirq_pins_default: main-wlirq-pins-default { AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */ >; }; + + /* For BT/WLAN connection interface */ + main_uart4_pins_default: main-uart4-default-pins { + pinctrl-single,pins = < + AM62X_IOPAD(0x00b0, PIN_INPUT, 3) /* (K22) GPMC0_CSn2.UART4_RXD */ + AM62X_IOPAD(0x00b4, PIN_OUTPUT, 3) /* (K24) GPMC0_CSn3.UART4_TXD */ + >; + }; +}; + +&main_uart4 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&main_uart4_pins_default>; + + /* + bluetooth { + enable-gpios = <&mcu_gpio0 1 GPIO_ACTIVE_HIGH>; + }; + */ + +}; + +&mcu_pmx0 { + /* Enable BT/WLAN Pin */ + mcu_btwlan_en_pins_default: mcu-btwlan-en-pins-default { + pinctrl-single,pins = < + AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT_PULLUP, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ + >; + }; }; &main_i2c1 { @@ -223,6 +273,7 @@ exp1: gpio@22 { }; &sdhci1 { + status = "okay"; vmmc-supply = <&vdd_mmc1>; vqmmc-supply = <&vdd_sd_dv>; }; diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index e56a47228ac3..2ad55192aba2 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1,6 +1,48 @@ CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_AUDIT=y +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_SIM=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y +CONFIG_GENERIC_IRQ_RESERVATION_MODE=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_BPF_SYSCALL=y @@ -218,9 +260,9 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CAN=m CONFIG_BT=m CONFIG_BT_HIDP=m -# CONFIG_BT_LE is not set +CONFIG_BT_LE=m CONFIG_BT_LEDS=y -# CONFIG_BT_DEBUGFS is not set +CONFIG_BT_DEBUGFS=m CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_LL=y @@ -526,6 +568,8 @@ CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y CONFIG_SERIAL_MVEBU_UART=y CONFIG_SERIAL_OWL=y CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_8250_NR_UARTS=12 +CONFIG_SERIAL_8250_RUNTIME_UARTS=12 CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DEVICE_INTERFACE=m @@ -644,6 +688,15 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_BD9571MWV=m CONFIG_GPIO_MAX77620=y CONFIG_GPIO_SL28CPLD=m +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_GPIO_ACPI=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y +CONFIG_GPIO_GENERIC=y CONFIG_POWER_RESET_MSM=y CONFIG_POWER_RESET_QCOM_PON=m CONFIG_POWER_RESET_XGENE=y