brcm2708: add linux 4.9 support
[openwrt/staging/yousong.git] / target / linux / brcm2708 / patches-4.9 / 0125-ARM64-Make-it-work-again-on-4.9-1790.patch
diff --git a/target/linux/brcm2708/patches-4.9/0125-ARM64-Make-it-work-again-on-4.9-1790.patch b/target/linux/brcm2708/patches-4.9/0125-ARM64-Make-it-work-again-on-4.9-1790.patch
new file mode 100644 (file)
index 0000000..a60080c
--- /dev/null
@@ -0,0 +1,410 @@
+From d6fbb7bbbe2fcc6b348ba0cfc3523d7f8f18a619 Mon Sep 17 00:00:00 2001
+From: Electron752 <mzoran@crowfest.net>
+Date: Thu, 12 Jan 2017 07:07:08 -0800
+Subject: [PATCH] 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 <mzoran@crowfest.net>
+---
+ arch/arm64/Kconfig.platforms          |  22 ------
+ arch/arm64/boot/dts/broadcom/Makefile |  10 ++-
+ arch/arm64/boot/dts/overlays          |   1 +
+ arch/arm64/configs/bcmrpi3_defconfig  | 126 ++++++++++------------------------
+ 4 files changed, 48 insertions(+), 111 deletions(-)
+ create mode 120000 arch/arm64/boot/dts/overlays
+
+diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
+index 7d213c2c..101794f 100644
+--- a/arch/arm64/Kconfig.platforms
++++ b/arch/arm64/Kconfig.platforms
+@@ -1,27 +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_SUNXI
+       bool "Allwinner sunxi 64-bit SoC Family"
+       select GENERIC_IRQ_CHIP
+diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
+index 2152448..7aa03be 100644
+--- a/arch/arm64/boot/dts/broadcom/Makefile
++++ b/arch/arm64/boot/dts/broadcom/Makefile
+@@ -1,7 +1,15 @@
++# 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_BCM_IPROC) += ns2-svk.dtb
+ dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
+-dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb
++dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b.dtb
++
++dts-dirs += ../overlays
+ 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 0000000..ded0864
+--- /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 53da5c7..c7e891d 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,5 +1283,3 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m
+ CONFIG_ARM64_CRYPTO=y
+ CONFIG_CRC_ITU_T=y
+ CONFIG_LIBCRC32C=y
+-CONFIG_BCM2708_VCHIQ=n
+-CONFIG_ARCH_BCM2835=y
+-- 
+2.1.4
+