2023-01-30 20:08:42

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: [PATCH v3 1/2] arm64: defconfig: Enable missing configs for mt8192-asurada

Enable missing configs in the arm64 defconfig to get all devices probing
on mt8192-asurada based machines.

The devices enabled are: MediaTek Bluetooth USB controller, MediaTek
PCIe Gen3 MAC controller, MT7921E wireless adapter, Elan I2C Trackpad,
MediaTek SPI NOR flash controller, Mediatek SPMI Controller, ChromeOS EC
regulators, MT6315 PMIC, MediaTek Video Codec, MT8192 sound cards,
ChromeOS EC rpmsg communication, all MT8192 clocks.

REGULATOR_CROS_EC is enabled as builtin since it powers the MMC
controller for the SD card, making it required for booting on some
setups.

The MT8192 clocks are enabled as builtin for now since their Kconfigs
are bool, and will be changed to modules after those Kconfigs are
reworked.

Restricted DMA pool support is also required to get working WiFi, but
it is enabled in a separate commit since it alters behavior of other
platforms and devices.

By enabling the support for all of this platform's devices on the
defconfig we make it effortless to test the relevant hardware both by
developers as well as CI systems like KernelCI.

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
Tested-by: AngeloGioacchino Del Regno <[email protected]>
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>

---

Changes in v3:
- Split DMA_RESTRICTED_POOL to separate patch

arch/arm64/configs/defconfig | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index f3053e7018fe..be40004a0259 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -196,6 +196,7 @@ CONFIG_BT_HIDP=m
CONFIG_BT_LEDS=y
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_BCM=y
@@ -231,6 +232,7 @@ CONFIG_PCIE_ALTERA_MSI=y
CONFIG_PCI_HOST_THUNDER_PEM=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCIE_MEDIATEK_GEN3=m
CONFIG_PCIE_BRCMSTB=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_LAYERSCAPE=y
@@ -403,6 +405,7 @@ CONFIG_BRCMFMAC=m
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
CONFIG_MWIFIEX_PCIE=m
+CONFIG_MT7921E=m
CONFIG_WL18XX=m
CONFIG_WLCORE_SDIO=m
CONFIG_INPUT_EVDEV=y
@@ -411,6 +414,7 @@ CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_SNVS_PWRKEY=m
CONFIG_KEYBOARD_IMX_SC_KEY=m
CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_MOUSE_ELAN_I2C=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_GOODIX=m
@@ -513,6 +517,7 @@ CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_MT65XX=y
+CONFIG_SPI_MTK_NOR=m
CONFIG_SPI_ORION=y
CONFIG_SPI_PL022=y
CONFIG_SPI_ROCKCHIP=y
@@ -528,6 +533,7 @@ CONFIG_SPI_TEGRA210_QUAD=m
CONFIG_SPI_TEGRA114=m
CONFIG_SPI_SPIDEV=m
CONFIG_SPMI=y
+CONFIG_SPMI_MTK_PMIF=m
CONFIG_PINCTRL_MAX77620=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_OWL=y
@@ -674,6 +680,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_BD718XX=y
CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_CROS_EC=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_HI6421V530=y
@@ -681,6 +688,7 @@ CONFIG_REGULATOR_HI655X=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX8973=y
CONFIG_REGULATOR_MP8859=y
+CONFIG_REGULATOR_MT6315=m
CONFIG_REGULATOR_MT6358=y
CONFIG_REGULATOR_MT6359=y
CONFIG_REGULATOR_MT6360=y
@@ -714,6 +722,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SDR_PLATFORM_DRIVERS=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEDIATEK_JPEG=m
+CONFIG_VIDEO_MEDIATEK_VCODEC=m
CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
CONFIG_VIDEO_RCAR_ISP=m
@@ -827,6 +836,8 @@ CONFIG_SND_SOC_IMX_AUDMIX=m
CONFIG_SND_SOC_MT8183=m
CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
+CONFIG_SND_SOC_MT8192=m
+CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682=m
CONFIG_SND_MESON_AXG_SOUND_CARD=m
CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_SOC_QCOM=m
@@ -1070,6 +1081,7 @@ CONFIG_VIDEO_MAX96712=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CROS_EC=y
CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SPI=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_COMMON_CLK_RK808=y
@@ -1092,6 +1104,18 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_TI_SCI_CLK=y
+CONFIG_COMMON_CLK_MT8192_AUDSYS=y
+CONFIG_COMMON_CLK_MT8192_CAMSYS=y
+CONFIG_COMMON_CLK_MT8192_IMGSYS=y
+CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP=y
+CONFIG_COMMON_CLK_MT8192_IPESYS=y
+CONFIG_COMMON_CLK_MT8192_MDPSYS=y
+CONFIG_COMMON_CLK_MT8192_MFGCFG=y
+CONFIG_COMMON_CLK_MT8192_MMSYS=y
+CONFIG_COMMON_CLK_MT8192_MSDC=y
+CONFIG_COMMON_CLK_MT8192_SCP_ADSP=y
+CONFIG_COMMON_CLK_MT8192_VDECSYS=y
+CONFIG_COMMON_CLK_MT8192_VENCSYS=y
CONFIG_COMMON_CLK_QCOM=y
CONFIG_QCOM_A53PLL=y
CONFIG_QCOM_CLK_APCS_MSM8916=y
--
2.39.1



2023-01-30 20:08:44

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: [PATCH v3 2/2] arm64: defconfig: Enable DMA_RESTRICTED_POOL

Enable support for restricted DMA pools which provide a level of DMA
memory protection on systems with limited hardware protection
capabilities, such as those lacking an IOMMU.

For instance, mt8192-asurada-spherion makes use of this to provide a
restricted DMA region for WiFi since its MT7921E WiFi card is connected
through PCIe, and the MT8192 SoC doesn't have an IOMMU context for the
PCIe controller.

Signed-off-by: Nícolas F. R. A. Prado <[email protected]>

---

Changes in v3:
- Added this patch

arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index be40004a0259..4e806d8068f6 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1422,6 +1422,7 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_HISI_ZIP=m
CONFIG_CRYPTO_DEV_HISI_HPRE=m
CONFIG_CRYPTO_DEV_HISI_TRNG=m
+CONFIG_DMA_RESTRICTED_POOL=y
CONFIG_CMA_SIZE_MBYTES=32
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_KERNEL=y
--
2.39.1


2023-01-31 11:29:19

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] arm64: defconfig: Enable missing configs for mt8192-asurada

Bot applied, thanks!

On 30/01/2023 21:08, Nícolas F. R. A. Prado wrote:
> Enable missing configs in the arm64 defconfig to get all devices probing
> on mt8192-asurada based machines.
>
> The devices enabled are: MediaTek Bluetooth USB controller, MediaTek
> PCIe Gen3 MAC controller, MT7921E wireless adapter, Elan I2C Trackpad,
> MediaTek SPI NOR flash controller, Mediatek SPMI Controller, ChromeOS EC
> regulators, MT6315 PMIC, MediaTek Video Codec, MT8192 sound cards,
> ChromeOS EC rpmsg communication, all MT8192 clocks.
>
> REGULATOR_CROS_EC is enabled as builtin since it powers the MMC
> controller for the SD card, making it required for booting on some
> setups.
>
> The MT8192 clocks are enabled as builtin for now since their Kconfigs
> are bool, and will be changed to modules after those Kconfigs are
> reworked.
>
> Restricted DMA pool support is also required to get working WiFi, but
> it is enabled in a separate commit since it alters behavior of other
> platforms and devices.
>
> By enabling the support for all of this platform's devices on the
> defconfig we make it effortless to test the relevant hardware both by
> developers as well as CI systems like KernelCI.
>
> Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
> Tested-by: AngeloGioacchino Del Regno <[email protected]>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>
> ---
>
> Changes in v3:
> - Split DMA_RESTRICTED_POOL to separate patch
>
> arch/arm64/configs/defconfig | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index f3053e7018fe..be40004a0259 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -196,6 +196,7 @@ CONFIG_BT_HIDP=m
> CONFIG_BT_LEDS=y
> # CONFIG_BT_DEBUGFS is not set
> CONFIG_BT_HCIBTUSB=m
> +CONFIG_BT_HCIBTUSB_MTK=y
> CONFIG_BT_HCIUART=m
> CONFIG_BT_HCIUART_LL=y
> CONFIG_BT_HCIUART_BCM=y
> @@ -231,6 +232,7 @@ CONFIG_PCIE_ALTERA_MSI=y
> CONFIG_PCI_HOST_THUNDER_PEM=y
> CONFIG_PCI_HOST_THUNDER_ECAM=y
> CONFIG_PCIE_ROCKCHIP_HOST=m
> +CONFIG_PCIE_MEDIATEK_GEN3=m
> CONFIG_PCIE_BRCMSTB=m
> CONFIG_PCI_IMX6=y
> CONFIG_PCI_LAYERSCAPE=y
> @@ -403,6 +405,7 @@ CONFIG_BRCMFMAC=m
> CONFIG_MWIFIEX=m
> CONFIG_MWIFIEX_SDIO=m
> CONFIG_MWIFIEX_PCIE=m
> +CONFIG_MT7921E=m
> CONFIG_WL18XX=m
> CONFIG_WLCORE_SDIO=m
> CONFIG_INPUT_EVDEV=y
> @@ -411,6 +414,7 @@ CONFIG_KEYBOARD_GPIO=y
> CONFIG_KEYBOARD_SNVS_PWRKEY=m
> CONFIG_KEYBOARD_IMX_SC_KEY=m
> CONFIG_KEYBOARD_CROS_EC=y
> +CONFIG_MOUSE_ELAN_I2C=m
> CONFIG_INPUT_TOUCHSCREEN=y
> CONFIG_TOUCHSCREEN_ATMEL_MXT=m
> CONFIG_TOUCHSCREEN_GOODIX=m
> @@ -513,6 +517,7 @@ CONFIG_SPI_FSL_DSPI=y
> CONFIG_SPI_MESON_SPICC=m
> CONFIG_SPI_MESON_SPIFC=m
> CONFIG_SPI_MT65XX=y
> +CONFIG_SPI_MTK_NOR=m
> CONFIG_SPI_ORION=y
> CONFIG_SPI_PL022=y
> CONFIG_SPI_ROCKCHIP=y
> @@ -528,6 +533,7 @@ CONFIG_SPI_TEGRA210_QUAD=m
> CONFIG_SPI_TEGRA114=m
> CONFIG_SPI_SPIDEV=m
> CONFIG_SPMI=y
> +CONFIG_SPMI_MTK_PMIF=m
> CONFIG_PINCTRL_MAX77620=y
> CONFIG_PINCTRL_SINGLE=y
> CONFIG_PINCTRL_OWL=y
> @@ -674,6 +680,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
> CONFIG_REGULATOR_AXP20X=y
> CONFIG_REGULATOR_BD718XX=y
> CONFIG_REGULATOR_BD9571MWV=y
> +CONFIG_REGULATOR_CROS_EC=y
> CONFIG_REGULATOR_FAN53555=y
> CONFIG_REGULATOR_GPIO=y
> CONFIG_REGULATOR_HI6421V530=y
> @@ -681,6 +688,7 @@ CONFIG_REGULATOR_HI655X=y
> CONFIG_REGULATOR_MAX77620=y
> CONFIG_REGULATOR_MAX8973=y
> CONFIG_REGULATOR_MP8859=y
> +CONFIG_REGULATOR_MT6315=m
> CONFIG_REGULATOR_MT6358=y
> CONFIG_REGULATOR_MT6359=y
> CONFIG_REGULATOR_MT6360=y
> @@ -714,6 +722,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
> CONFIG_SDR_PLATFORM_DRIVERS=y
> CONFIG_V4L_MEM2MEM_DRIVERS=y
> CONFIG_VIDEO_MEDIATEK_JPEG=m
> +CONFIG_VIDEO_MEDIATEK_VCODEC=m
> CONFIG_VIDEO_QCOM_CAMSS=m
> CONFIG_VIDEO_QCOM_VENUS=m
> CONFIG_VIDEO_RCAR_ISP=m
> @@ -827,6 +836,8 @@ CONFIG_SND_SOC_IMX_AUDMIX=m
> CONFIG_SND_SOC_MT8183=m
> CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
> CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
> +CONFIG_SND_SOC_MT8192=m
> +CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682=m
> CONFIG_SND_MESON_AXG_SOUND_CARD=m
> CONFIG_SND_MESON_GX_SOUND_CARD=m
> CONFIG_SND_SOC_QCOM=m
> @@ -1070,6 +1081,7 @@ CONFIG_VIDEO_MAX96712=m
> CONFIG_CHROME_PLATFORMS=y
> CONFIG_CROS_EC=y
> CONFIG_CROS_EC_I2C=y
> +CONFIG_CROS_EC_RPMSG=m
> CONFIG_CROS_EC_SPI=y
> CONFIG_CROS_EC_CHARDEV=m
> CONFIG_COMMON_CLK_RK808=y
> @@ -1092,6 +1104,18 @@ CONFIG_CLK_IMX8QXP=y
> CONFIG_CLK_IMX8ULP=y
> CONFIG_CLK_IMX93=y
> CONFIG_TI_SCI_CLK=y
> +CONFIG_COMMON_CLK_MT8192_AUDSYS=y
> +CONFIG_COMMON_CLK_MT8192_CAMSYS=y
> +CONFIG_COMMON_CLK_MT8192_IMGSYS=y
> +CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP=y
> +CONFIG_COMMON_CLK_MT8192_IPESYS=y
> +CONFIG_COMMON_CLK_MT8192_MDPSYS=y
> +CONFIG_COMMON_CLK_MT8192_MFGCFG=y
> +CONFIG_COMMON_CLK_MT8192_MMSYS=y
> +CONFIG_COMMON_CLK_MT8192_MSDC=y
> +CONFIG_COMMON_CLK_MT8192_SCP_ADSP=y
> +CONFIG_COMMON_CLK_MT8192_VDECSYS=y
> +CONFIG_COMMON_CLK_MT8192_VENCSYS=y
> CONFIG_COMMON_CLK_QCOM=y
> CONFIG_QCOM_A53PLL=y
> CONFIG_QCOM_CLK_APCS_MSM8916=y

Subject: Re: [PATCH v3 2/2] arm64: defconfig: Enable DMA_RESTRICTED_POOL

Il 30/01/23 21:08, Nícolas F. R. A. Prado ha scritto:
> Enable support for restricted DMA pools which provide a level of DMA
> memory protection on systems with limited hardware protection
> capabilities, such as those lacking an IOMMU.
>
> For instance, mt8192-asurada-spherion makes use of this to provide a
> restricted DMA region for WiFi since its MT7921E WiFi card is connected
> through PCIe, and the MT8192 SoC doesn't have an IOMMU context for the
> PCIe controller.
>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>

On MT8173 Elm, MT8192 Spherion, MT8195 Tomato:

Tested-by: AngeloGioacchino Del Regno <[email protected]>