From 4e26547c47754e301350769f487d761bb411e67d Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 30 May 2016 17:28:56 +0100 Subject: [PATCH] Initial Qualcomm ARM64 support (Dragonboard 410c) --- config-arm-generic | 46 ++++++++++++++++++++++++++++++-- config-arm64 | 62 +++++++++++++++++++++++++++++++++++++++++++- config-armv7 | 5 ++-- config-armv7-generic | 8 ------ kernel.spec | 1 + 5 files changed, 109 insertions(+), 13 deletions(-) diff --git a/config-arm-generic b/config-arm-generic index 84b97e86c..91d27ad92 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -84,6 +84,15 @@ CONFIG_EDAC=y CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_LEGACY_SYSFS=y +# Regulators +CONFIG_REGULATOR=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_PWM=m + # ARM VExpress CONFIG_ARCH_VEXPRESS=y CONFIG_MFD_VEXPRESS_SYSREG=y @@ -177,6 +186,9 @@ CONFIG_SND_HDA_TEGRA=m # CONFIG_DWMAC_IPQ806X is not set # CONFIG_PINCTRL_IPQ8064 is not set # CONFIG_PINCTRL_IPQ4019 is not set +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_QCOM_SPMI_IADC is not set +# CONFIG_QCOM_SPMI_VADC is not set # Virt CONFIG_PARAVIRT=y @@ -199,6 +211,9 @@ CONFIG_DEVFREQ_THERMAL=y # CONFIG_ARM_CPUIDLE is not set # CONFIG_ARM_DT_BL_CPUFREQ is not set # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +CONFIG_SPMI=m +CONFIG_MFD_SPMI_PMIC=m +CONFIG_REGMAP_SPMI=m # Device tree CONFIG_DTC=y @@ -474,7 +489,6 @@ CONFIG_COMMON_CLK_SCPI=m # CONFIG_ARM_PTDUMP is not set # CONFIG_PATA_PLATFORM is not set -# CONFIG_USB_ULPI is not set # CONFIG_KEYBOARD_OMAP4 is not set # CONFIG_KEYBOARD_BCM is not set # CONFIG_PHY_SAMSUNG_USB2 is not set @@ -536,9 +550,37 @@ CONFIG_NET_VENDOR_MELLANOX=y # CONFIG_SERIAL_MAX310X is not set # CONFIG_SERIAL_IFX6X60 is not set +# regulator +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_PV88060 is not set +# CONFIG_REGULATOR_PV88080 is not set +# CONFIG_REGULATOR_PV88090 is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS6524X is not set + # drm # CONFIG_DRM_VMWGFX is not set -# CONFIG_DRM_MSM_DSI is not set # CONFIG_DRM_HDLCD is not set # CONFIG_IMX_IPUV3_CORE is not set diff --git a/config-arm64 b/config-arm64 index f023aa660..3c402a87d 100644 --- a/config-arm64 +++ b/config-arm64 @@ -3,6 +3,7 @@ CONFIG_ARM64=y # arm64 only SoCs CONFIG_ARCH_HISI=y +CONFIG_ARCH_QCOM=y CONFIG_ARCH_SEATTLE=y CONFIG_ARCH_SUNXI=y CONFIG_ARCH_TEGRA=y @@ -15,7 +16,6 @@ CONFIG_ARCH_XGENE=y # CONFIG_ARCH_MEDIATEK is not set # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_RENESAS is not set # CONFIG_ARCH_SPRD is not set # CONFIG_ARCH_STRATIX10 is not set @@ -178,6 +178,66 @@ CONFIG_PWM_SUN4I=m # CONFIG_PHY_SUN9I_USB is not set CONFIG_NVMEM_SUNXI_SID=m +# qcom +# MSM8996 = SD-820, MSM8916 = SD-410 +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_QCOM_GSBI=y +CONFIG_PCIE_QCOM=y +CONFIG_POWER_RESET_MSM=y +CONFIG_MMC_SDHCI_MSM=m +CONFIG_I2C_QUP=m +CONFIG_SPI_QUP=m +CONFIG_QCOM_WDT=m +CONFIG_MFD_QCOM_RPM=m +CONFIG_PINCTRL_MSM=y +CONFIG_PINCTRL_MSM8916=y +CONFIG_PINCTRL_MSM8996=y +CONFIG_REGULATOR_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_SMD_RPM=m +CONFIG_QCOM_BAM_DMA=y +CONFIG_HWSPINLOCK_QCOM=m +CONFIG_HW_RANDOM_MSM=m +CONFIG_CRYPTO_DEV_QCE=m +CONFIG_RTC_DRV_PM8XXX=m +CONFIG_QCOM_QFPROM=m +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_SMP2P=m +CONFIG_QCOM_SMSM=m +CONFIG_QCOM_SMD=m +CONFIG_QCOM_SMD_RPM=m +CONFIG_PINCTRL_QCOM_SPMI_PMIC=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_QCOM_SPMI_TEMP_ALARM=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_VADC=m +CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_USB_QCOM_8X16_PHY=m +CONFIG_USB_EHCI_MSM=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_MSM_OTG=m +CONFIG_DRM_MSM=m +# CONFIG_DRM_MSM_DSI is not set +CONFIG_DRM_MSM_HDMI_HDCP=y +# CONFIG_DRM_MSM_REGISTER_LOGGING is not set +CONFIG_QCOM_WCNSS_CTRL=m +CONFIG_QCOM_COINCELL=m +# CONFIG_PHY_QCOM_APQ8064_SATA is not set +# CONFIG_PHY_QCOM_UFS is not set +# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set +# CONFIG_PINCTRL_APQ8064 is not set +# CONFIG_PINCTRL_APQ8084 is not set +# CONFIG_PINCTRL_MSM8660 is not set +# CONFIG_PINCTRL_MSM8960 is not set +# CONFIG_PINCTRL_MSM8X74 is not set +# CONFIG_PINCTRL_QDF2XXX is not set +# CONFIG_INPUT_PM8941_PWRKEY is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_SENSORS_LTC2978_REGULATOR is not set + # ThunderX # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set diff --git a/config-armv7 b/config-armv7 index 9b663d594..7fe8444b3 100644 --- a/config-armv7 +++ b/config-armv7 @@ -313,6 +313,9 @@ CONFIG_PHY_QCOM_APQ8064_SATA=m CONFIG_USB_DWC3_QCOM=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_DRM_MSM=m +# CONFIG_DRM_MSM_DSI is not set +CONFIG_DRM_MSM_HDMI_HDCP=y +# CONFIG_DRM_MSM_REGISTER_LOGGING is not set CONFIG_USB_EHCI_MSM=m CONFIG_MFD_PM8XXX=m CONFIG_KEYBOARD_PMIC8XXX=m @@ -322,8 +325,6 @@ CONFIG_INPUT_PM8941_PWRKEY=m CONFIG_RTC_DRV_PM8XXX=m # CONFIG_DRM_MSM_REGISTER_LOGGING is not set CONFIG_QCOM_WDT=m -CONFIG_MFD_SPMI_PMIC=m -CONFIG_SPMI=m CONFIG_SPMI_MSM_PMIC_ARB=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_VADC=m diff --git a/config-armv7-generic b/config-armv7-generic index f6ac37b77..fc4bafb6a 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -466,7 +466,6 @@ CONFIG_DRM_DW_HDMI_AHB_AUDIO=m # regmap CONFIG_REGMAP_SPI=m -CONFIG_REGMAP_SPMI=m CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y @@ -590,12 +589,6 @@ CONFIG_RTC_DRV_TPS80031=m # CONFIG_RTC_DRV_XGENE is not set # Regulators -CONFIG_REGULATOR=y -CONFIG_RFKILL_REGULATOR=m -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_VIRTUAL_CONSUMER=m -CONFIG_REGULATOR_USERSPACE_CONSUMER=m -CONFIG_REGULATOR_GPIO=m # CONFIG_REGULATOR_ACT8865 is not set CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_DA9210=m @@ -629,7 +622,6 @@ CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_MAX77802=m -CONFIG_REGULATOR_PWM=m # CONFIG_REGULATOR_MT6311 is not set CONFIG_SENSORS_LTC2978_REGULATOR=y diff --git a/kernel.spec b/kernel.spec index c28f95ed9..6af10311e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2156,6 +2156,7 @@ fi * Mon May 30 2016 Peter Robinson - Minor ARM cleanups and power/cpufreq management tweaks - Update Utilite patch +- Initial Qualcomm ARM64 support (Dragonboard 410c) * Mon May 23 2016 Josh Boyer - CVE-2016-4951 null ptr deref in tipc_nl_publ_dump (rhbz 1338625 1338626)