From 3982be6e386a0c2ca0530ca5fc09f37bcb0f2da6 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 Subject: [PATCH 098/454] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. * ARM64: Update bcmrpi3_defconfig Signed-off-by: Michael Zoran --- arch/arm64/Kconfig.platforms | 28 ------ arch/arm64/boot/dts/broadcom/Makefile | 10 ++- arch/arm64/boot/dts/overlays | 1 + arch/arm64/configs/bcmrpi3_defconfig | 125 ++++++++------------------ 4 files changed, 48 insertions(+), 116 deletions(-) create mode 120000 arch/arm64/boot/dts/overlays diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 2b9aefe89e94..19ff97b7efe6 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -1,33 +1,5 @@ menu "Platform selection" -config MACH_BCM2709 - bool - -config ARCH_BCM2709 - bool "Broadcom BCM2709 family" - select MACH_BCM2709 - select HAVE_SMP - select ARM_AMBA - select COMMON_CLK - select ARCH_HAS_CPUFREQ - select GENERIC_CLOCKEVENTS - select MULTI_IRQ_HANDLER - select SPARSE_IRQ - select MFD_SYSCON - select VC4 - select USE_OF - select ARCH_REQUIRE_GPIOLIB - select PINCTRL - select PINCTRL_BCM2835 - help - This enables support for Broadcom BCM2709 boards. - -config ARCH_ACTIONS - bool "Actions Semi Platforms" - select OWL_TIMER - help - This enables support for the Actions Semiconductor S900 SoC family. - config ARCH_SUNXI bool "Allwinner sunxi 64-bit SoC Family" select ARCH_HAS_RESET_CONTROLLER diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile index d54218055506..3adfeab86f3f 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -1,8 +1,16 @@ # SPDX-License-Identifier: GPL-2.0 +# Enable fixups to support overlays on BCM2835 platforms + +ifeq ($(CONFIG_ARCH_BCM2835),y) +DTC_FLAGS ?= -@ -H epapr +endif + dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b.dtb + +dts-dirs += ../overlays -dts-dirs += northstar2 dts-dirs += stingray always := $(dtb-y) subdir-y := $(dts-dirs) diff --git a/arch/arm64/boot/dts/overlays b/arch/arm64/boot/dts/overlays new file mode 120000 index 000000000000..ded08646b6f6 --- /dev/null +++ b/arch/arm64/boot/dts/overlays @@ -0,0 +1 @@ +../../../arm/boot/dts/overlays \ No newline at end of file diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig index e6b09fafa27e..c7e891d72969 100644 --- a/arch/arm64/configs/bcmrpi3_defconfig +++ b/arch/arm64/configs/bcmrpi3_defconfig @@ -1,52 +1,9 @@ -# CONFIG_ARM_PATCH_PHYS_VIRT is not set -CONFIG_PHYS_OFFSET=0 CONFIG_LOCALVERSION="-v8" # CONFIG_LOCALVERSION_AUTO is not set -CONFIG_64BIT=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y - -# -# ARM errata workarounds via the alternatives framework -# -CONFIG_ARM64_ERRATUM_826319=n -CONFIG_ARM64_ERRATUM_827319=n -CONFIG_ARM64_ERRATUM_824069=n -CONFIG_ARM64_ERRATUM_819472=n -CONFIG_ARM64_ERRATUM_832075=n -CONFIG_ARM64_ERRATUM_845719=n -CONFIG_ARM64_ERRATUM_843419=n -CONFIG_CAVIUM_ERRATUM_22375=n -CONFIG_CAVIUM_ERRATUM_23154=n -CONFIG_CAVIUM_ERRATUM_27456=n -CONFIG_ARM64_4K_PAGES=y -CONFIG_ARM64_VA_BITS_39=y -CONFIG_ARM64_VA_BITS=39 -CONFIG_SCHED_MC=y -CONFIG_NR_CPUS=4 -CONFIG_HOTPLUG_CPU=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_SWP_EMULATION=y -CONFIG_CP15_BARRIER_EMULATION=y -CONFIG_SETEND_EMULATION=y - -# -# ARMv8.1 architectural features -# -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_PAN=y -CONFIG_ARM64_LSE_ATOMICS=y -CONFIG_ARM64_VHE=y - -# -# ARMv8.2 architectural features -# -CONFIG_ARM64_UAO=y -CONFIG_ARM64_MODULE_CMODEL_LARGE=n -CONFIG_RANDOMIZE_BASE=n - CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y @@ -55,7 +12,6 @@ CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y -CONFIG_NMI_LOG_BUF_SHIFT=12 CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_FREEZER=y @@ -69,54 +25,49 @@ CONFIG_BLK_DEV_INITRD=y CONFIG_EMBEDDED=y # CONFIG_COMPAT_BRK is not set CONFIG_PROFILING=y -CONFIG_OPROFILE=m CONFIG_KPROBES=y CONFIG_JUMP_LABEL=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y -CONFIG_TRIM_UNUSED_KSYMS=y CONFIG_BLK_DEV_THROTTLING=y CONFIG_PARTITION_ADVANCED=y CONFIG_MAC_PARTITION=y CONFIG_CFQ_GROUP_IOSCHED=y -CONFIG_ARCH_BCM2709=y -# CONFIG_CACHE_L2X0 is not set -CONFIG_SMP=y -CONFIG_HAVE_ARM_ARCH_TIMER=y -CONFIG_VMSPLIT_2G=y -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_CPU_SW_DOMAIN_PAN is not set +CONFIG_ARCH_BCM2835=y +# CONFIG_CAVIUM_ERRATUM_22375 is not set +# CONFIG_CAVIUM_ERRATUM_23154 is not set +# CONFIG_CAVIUM_ERRATUM_27456 is not set +CONFIG_SCHED_MC=y +CONFIG_NR_CPUS=4 +CONFIG_PREEMPT=y +CONFIG_HZ_1000=y CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y CONFIG_CMA=y CONFIG_ZSMALLOC=m CONFIG_PGTABLE_MAPPING=y -CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_SECCOMP=y -# CONFIG_ATAGS is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" +CONFIG_BINFMT_MISC=y +CONFIG_COMPAT=y +# CONFIG_SUSPEND is not set +CONFIG_PM=y +CONFIG_CPU_IDLE=y +CONFIG_ARM_CPUIDLE=y CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_VFP=y -CONFIG_NEON=y -CONFIG_KERNEL_MODE_NEON=y -CONFIG_BINFMT_MISC=m -CONFIG_COMPAT=y -CONFIG_SYSVIPC_COMPAT=y - -# CONFIG_SUSPEND is not set -CONFIG_PM=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y @@ -437,6 +388,7 @@ CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m CONFIG_BT_WILINK=m +CONFIG_CFG80211=m CONFIG_MAC80211=m CONFIG_MAC80211_MESH=y CONFIG_WIMAX=m @@ -490,7 +442,6 @@ CONFIG_BONDING=m CONFIG_DUMMY=m CONFIG_IFB=m CONFIG_MACVLAN=m -CONFIG_IPVLAN=m CONFIG_VXLAN=m CONFIG_NETCONSOLE=m CONFIG_TUN=m @@ -579,8 +530,6 @@ CONFIG_RT2800USB_RT3573=y CONFIG_RT2800USB_RT53XX=y CONFIG_RT2800USB_RT55XX=y CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RTL8187=m -CONFIG_RTL8192CU=n CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m @@ -606,7 +555,7 @@ CONFIG_JOYSTICK_RPISENSE=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_EGALAX=m -CONFIG_TOUCHSCREEN_FT6236=m +CONFIG_TOUCHSCREEN_EKTF2127=m CONFIG_TOUCHSCREEN_RPI_FT5406=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m @@ -626,10 +575,8 @@ CONFIG_SERIO_RAW=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m -CONFIG_BRCM_CHAR_DRIVERS=n -CONFIG_BCM_VC_CMA=n -CONFIG_BCM_VCIO=n -CONFIG_BCM_VC_SM=n +# CONFIG_BCM2835_DEVGPIOMEM is not set +# CONFIG_BCM2835_SMI_DEV is not set # CONFIG_LEGACY_PTYS is not set # CONFIG_DEVKMEM is not set CONFIG_SERIAL_8250=y @@ -638,6 +585,9 @@ CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_DMA is not set CONFIG_SERIAL_8250_NR_UARTS=1 CONFIG_SERIAL_8250_RUNTIME_UARTS=0 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y @@ -650,6 +600,7 @@ CONFIG_I2C=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX_PCA954x=m CONFIG_I2C_BCM2708=m +CONFIG_I2C_BCM2835=m CONFIG_I2C_GPIO=m CONFIG_SPI=y CONFIG_SPI_BCM2835=m @@ -681,13 +632,13 @@ CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_BQ27000=m -CONFIG_BATTERY_DS2760=m -CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y +CONFIG_BATTERY_DS2760=m CONFIG_HWMON=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHTC1=m +CONFIG_SENSORS_INA2XX=m CONFIG_THERMAL=y CONFIG_THERMAL_BCM2835=y CONFIG_WATCHDOG=y @@ -835,8 +786,6 @@ CONFIG_VIDEO_EM28XX_V4L2=m CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_BCM2835=n -CONFIG_VIDEO_BCM2835_MMAL=n CONFIG_RADIO_SI470X=y CONFIG_USB_SI470X=m CONFIG_I2C_SI470X=m @@ -892,8 +841,6 @@ CONFIG_SND_VIRMIDI=m CONFIG_SND_MTPAV=m CONFIG_SND_SERIAL_U16550=m CONFIG_SND_MPU401=m -CONFIG_SND_ARM=n -CONFIG_SND_BCM2835=n CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_UA101=m CONFIG_SND_USB_CAIAQ=m @@ -916,7 +863,10 @@ CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m CONFIG_SND_DIGIDAC1_SOUNDCARD=m CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m +CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m +CONFIG_SND_PISOUND=m CONFIG_SND_SOC_ADAU1701=m +CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m CONFIG_SOUND_PRIME=m @@ -979,8 +929,6 @@ CONFIG_USB_HIDDEV=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_MON=m -CONFIG_USB_DWCOTG=n -CONFIG_USB_DWC2=y CONFIG_USB_PRINTER=m CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m @@ -1001,6 +949,7 @@ CONFIG_USB_MICROTEK=m CONFIG_USBIP_CORE=m CONFIG_USBIP_VHCI_HCD=m CONFIG_USBIP_HOST=m +CONFIG_USB_DWC2=y CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=m @@ -1096,6 +1045,7 @@ CONFIG_LEDS_TRIGGER_INPUT=y CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_RTC_CLASS=y # CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_DRV_ABX80X=m CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1672=m @@ -1103,7 +1053,6 @@ CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m -CONFIG_RTC_DRV_ISL12057=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_PCF8523=m CONFIG_RTC_DRV_PCF8563=m @@ -1137,7 +1086,6 @@ CONFIG_STAGING=y CONFIG_PRISM2_USB=m CONFIG_R8712U=m CONFIG_R8188EU=m -CONFIG_R8723AU=m CONFIG_VT6656=m CONFIG_SPEAKUP=m CONFIG_SPEAKUP_SYNTH_SOFT=m @@ -1153,6 +1101,7 @@ CONFIG_FB_TFT_BD663474=m CONFIG_FB_TFT_HX8340BN=m CONFIG_FB_TFT_HX8347D=m CONFIG_FB_TFT_HX8353D=m +CONFIG_FB_TFT_HX8357D=m CONFIG_FB_TFT_ILI9163=m CONFIG_FB_TFT_ILI9320=m CONFIG_FB_TFT_ILI9325=m @@ -1176,6 +1125,7 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_FB_FLEX=m CONFIG_FB_TFT_FBTFT_DEVICE=m +# CONFIG_BCM2708_VCHIQ is not set CONFIG_MAILBOX=y CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set @@ -1189,6 +1139,7 @@ CONFIG_IIO_KFIFO_BUF=m CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_DHT11=m +CONFIG_HTU21=m CONFIG_PWM_BCM2835=m CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y @@ -1309,6 +1260,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DETECT_HUNG_TASK=y CONFIG_TIMER_STATS=y +CONFIG_LATENCYTOP=y CONFIG_IRQSOFF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_STACK_TRACER=y @@ -1331,4 +1283,3 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m CONFIG_ARM64_CRYPTO=y CONFIG_CRC_ITU_T=y CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -- 2.19.2