[armel] Replace kirkwood and orion5x flavours with a 'marvell' flavour

Apply upstream patches from 4.5-rc1 to enable inclusion of orion5x in a
multiplatform build.

Merge configurations as well as possible.
This commit is contained in:
Ben Hutchings 2016-01-27 02:09:30 +00:00
parent 43671fd62b
commit 7f810117b9
78 changed files with 2075 additions and 633 deletions

1
debian/changelog vendored
View File

@ -24,6 +24,7 @@ linux (4.4.1-1~exp1) UNRELEASED; urgency=medium
* linux-{headers,image}: Remove support for version-specific hooks
* linux-headers: Make postinst script less verbose (see: #734266)
* [rt] Update to 4.4-rt3
* [armel] Replace kirkwood and orion5x flavours with a 'marvell' flavour
-- Ian Campbell <ijc@debian.org> Sat, 23 Jan 2016 08:23:05 +0000

View File

@ -13,17 +13,22 @@ CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
CONFIG_ATAGS_PROC=y
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
# CONFIG_VFP is not set
CONFIG_VFP=y
##
## file: arch/arm/Kconfig.debug
##
## choice: Kernel low-level debugging port
CONFIG_DEBUG_MVEBU_UART0_ALTERNATE=y
# CONFIG_DEBUG_ICEDCC is not set
CONFIG_DEBUG_LL_UART_8250=y
## end choice
#. Kirkwood (with new boot loader) and Orion both have an 8250 at
#. physical address 0xf1012000.
CONFIG_DEBUG_UART_PHYS=0xf1012000
#. MVEBU is flexible about the virtual address (relying on
#. debug_ll_io_init()) but Orion maps the 8250 as part of a larger
#. block of registers. So use the VA that Orion requires.
CONFIG_DEBUG_UART_VIRT=0xfe012000
##
## file: arch/arm/mach-imx/Kconfig
@ -36,9 +41,36 @@ CONFIG_DEBUG_MVEBU_UART0_ALTERNATE=y
CONFIG_ARCH_MVEBU=y
CONFIG_MACH_KIRKWOOD=y
##
## file: arch/arm/mach-orion5x/Kconfig
##
CONFIG_ARCH_ORION5X=y
CONFIG_MACH_DB88F5281=y
CONFIG_MACH_RD88F5182=y
CONFIG_MACH_RD88F5182_DT=y
CONFIG_MACH_KUROBOX_PRO=y
CONFIG_MACH_DNS323=y
CONFIG_MACH_TS209=y
CONFIG_MACH_TERASTATION_PRO2=y
CONFIG_MACH_LINKSTATION_PRO=y
CONFIG_MACH_LINKSTATION_LSCHL=y
CONFIG_MACH_LINKSTATION_MINI=y
CONFIG_MACH_LINKSTATION_LS_HGL=y
CONFIG_MACH_TS409=y
CONFIG_MACH_WRT350N_V2=y
CONFIG_MACH_TS78XX=y
CONFIG_MACH_MV2120=y
CONFIG_MACH_NET2BIG=y
CONFIG_MACH_MSS2_DT=y
CONFIG_MACH_WNR854T=y
CONFIG_MACH_RD88F5181L_GE=y
CONFIG_MACH_RD88F5181L_FXO=y
CONFIG_MACH_RD88F6183AP_GE=y
##
## file: arch/arm/mm/Kconfig
##
CONFIG_CPU_FEROCEON_OLD_ID=y
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
@ -166,7 +198,9 @@ CONFIG_MV_XOR=y
##
## file: drivers/hwmon/Kconfig
##
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_LM75=m
##
## file: drivers/i2c/Kconfig
@ -194,6 +228,15 @@ CONFIG_INPUT_JOYSTICK=y
##
CONFIG_KEYBOARD_GPIO=m
##
## file: drivers/input/serio/Kconfig
##
CONFIG_SERIO=m
CONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=m
# CONFIG_SERIO_RAW is not set
##
## file: drivers/input/touchscreen/Kconfig
##
@ -302,8 +345,10 @@ CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_I4=y
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
#. Needed e.g. on QNAP devices
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=m
#. Needed e.g. on the D-Link DNS-323
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
@ -447,6 +492,10 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_S35390A=y
CONFIG_RTC_DRV_MV=y

View File

@ -1,571 +0,0 @@
##
## file: arch/arm/Kconfig
##
## choice: ARM system type
CONFIG_ARCH_ORION5X=y
## end choice
CONFIG_PCI=y
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
CONFIG_ATAGS_PROC=y
CONFIG_VFP=y
##
## file: arch/arm/Kconfig.debug
##
## choice: Kernel low-level debugging port
# CONFIG_DEBUG_ICEDCC is not set
CONFIG_DEBUG_LL_UART_8250=y
## end choice
##
## file: arch/arm/mach-imx/Kconfig
##
# CONFIG_ARCH_MXC is not set
##
## file: arch/arm/mach-orion5x/Kconfig
##
CONFIG_MACH_DB88F5281=y
CONFIG_MACH_RD88F5182=y
CONFIG_MACH_RD88F5182_DT=y
CONFIG_MACH_KUROBOX_PRO=y
CONFIG_MACH_DNS323=y
CONFIG_MACH_TS209=y
CONFIG_MACH_TERASTATION_PRO2=y
CONFIG_MACH_LINKSTATION_PRO=y
CONFIG_MACH_LINKSTATION_LSCHL=y
CONFIG_MACH_LINKSTATION_MINI=y
CONFIG_MACH_LINKSTATION_LS_HGL=y
CONFIG_MACH_TS409=y
CONFIG_MACH_WRT350N_V2=y
CONFIG_MACH_TS78XX=y
CONFIG_MACH_MV2120=y
CONFIG_MACH_NET2BIG=y
CONFIG_MACH_MSS2_DT=y
CONFIG_MACH_WNR854T=y
CONFIG_MACH_RD88F5181L_GE=y
CONFIG_MACH_RD88F5181L_FXO=y
CONFIG_MACH_RD88F6183AP_GE=y
##
## file: arch/arm/mm/Kconfig
##
CONFIG_CPU_FEROCEON_OLD_ID=y
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
##
## file: block/partitions/Kconfig
##
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
##
## file: drivers/ata/Kconfig
##
CONFIG_ATA=m
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_ATA_PIIX is not set
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_ATA_GENERIC is not set
##
## file: drivers/bluetooth/Kconfig
##
# CONFIG_BT_HCIUART is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
##
## file: drivers/crypto/Kconfig
##
CONFIG_CRYPTO_DEV_MV_CESA=m
##
## file: drivers/dma/Kconfig
##
CONFIG_DMADEVICES=y
CONFIG_MV_XOR=y
##
## file: drivers/gpu/drm/Kconfig
##
# CONFIG_DRM is not set
##
## file: drivers/hwmon/Kconfig
##
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_LM75=m
##
## file: drivers/i2c/Kconfig
##
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
##
## file: drivers/i2c/busses/Kconfig
##
CONFIG_I2C_MV64XXX=y
##
## file: drivers/input/gameport/Kconfig
##
CONFIG_GAMEPORT=m
##
## file: drivers/input/joystick/Kconfig
##
CONFIG_INPUT_JOYSTICK=y
##
## file: drivers/input/keyboard/Kconfig
##
CONFIG_KEYBOARD_GPIO=m
##
## file: drivers/input/serio/Kconfig
##
CONFIG_SERIO=m
CONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=m
# CONFIG_SERIO_RAW is not set
##
## file: drivers/input/touchscreen/Kconfig
##
CONFIG_INPUT_TOUCHSCREEN=y
##
## file: drivers/isdn/Kconfig
##
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=m
##
## file: drivers/isdn/capi/Kconfig
##
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPIDRV=m
##
## file: drivers/isdn/hardware/avm/Kconfig
##
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m
##
## file: drivers/isdn/hardware/eicon/Kconfig
##
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DIVAS=m
CONFIG_ISDN_DIVAS_BRIPCI=y
CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
##
## file: drivers/leds/Kconfig
##
CONFIG_LEDS_GPIO=y
##
## file: drivers/leds/trigger/Kconfig
##
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
##
## file: drivers/mtd/Kconfig
##
CONFIG_MTD=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
CONFIG_MTD_OF_PARTS=y
CONFIG_MTD_BLOCK=y
CONFIG_FTL=m
CONFIG_NFTL=m
# CONFIG_NFTL_RW is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_MTD_OOPS is not set
##
## file: drivers/mtd/chips/Kconfig
##
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
## choice: Flash cmd/query data swapping
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
## end choice
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_I4=y
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
#. Needed e.g. on QNAP devices
CONFIG_MTD_CFI_INTELEXT=y
#. Needed e.g. on the D-Link DNS-323
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
##
## file: drivers/mtd/devices/Kconfig
##
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set
##
## file: drivers/mtd/maps/Kconfig
##
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set
##
## file: drivers/mtd/nand/Kconfig
##
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_ORION=y
##
## file: drivers/mtd/onenand/Kconfig
##
# CONFIG_MTD_ONENAND is not set
##
## file: drivers/net/arcnet/Kconfig
##
# CONFIG_ARCNET is not set
##
## file: drivers/net/ethernet/atheros/Kconfig
##
# CONFIG_ATL1 is not set
##
## file: drivers/net/ethernet/broadcom/Kconfig
##
# CONFIG_BNX2 is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2X is not set
##
## file: drivers/net/ethernet/dlink/Kconfig
##
# CONFIG_DL2K is not set
##
## file: drivers/net/ethernet/intel/Kconfig
##
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_IGB is not set
##
## file: drivers/net/ethernet/marvell/Kconfig
##
CONFIG_MV643XX_ETH=m
CONFIG_MVMDIO=m
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
##
## file: drivers/net/ethernet/natsemi/Kconfig
##
# CONFIG_NS83820 is not set
##
## file: drivers/net/ethernet/packetengines/Kconfig
##
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
##
## file: drivers/net/ethernet/qlogic/Kconfig
##
# CONFIG_QLA3XXX is not set
##
## file: drivers/net/ethernet/realtek/Kconfig
##
# CONFIG_R8169 is not set
##
## file: drivers/net/ethernet/sis/Kconfig
##
# CONFIG_SIS190 is not set
##
## file: drivers/net/ethernet/via/Kconfig
##
# CONFIG_VIA_VELOCITY is not set
##
## file: drivers/pcmcia/Kconfig
##
# CONFIG_PCCARD is not set
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_S35390A=y
##
## file: drivers/scsi/Kconfig
##
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_NSP32 is not set
##
## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
##
# CONFIG_SCSI_AIC79XX is not set
##
## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
##
# CONFIG_SCSI_AIC7XXX is not set
##
## file: drivers/scsi/aic94xx/Kconfig
##
# CONFIG_SCSI_AIC94XX is not set
##
## file: drivers/scsi/megaraid/Kconfig.megaraid
##
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
##
## file: drivers/scsi/mvsas/Kconfig
##
# CONFIG_SCSI_MVSAS is not set
##
## file: drivers/scsi/qla2xxx/Kconfig
##
# CONFIG_SCSI_QLA_FC is not set
##
## file: drivers/scsi/qla4xxx/Kconfig
##
# CONFIG_SCSI_QLA_ISCSI is not set
##
## file: drivers/ssb/Kconfig
##
# CONFIG_SSB is not set
##
## file: drivers/tty/serial/Kconfig
##
CONFIG_SERIAL_OF_PLATFORM=y
##
## file: drivers/tty/serial/8250/Kconfig
##
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
##
## file: drivers/usb/Kconfig
##
CONFIG_USB_SUPPORT=y
CONFIG_USB=m
##
## file: drivers/usb/atm/Kconfig
##
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
##
## file: drivers/usb/host/Kconfig
##
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_HCD_ORION=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_SL811_HCD=m
##
## file: drivers/video/console/Kconfig
##
# CONFIG_VGA_CONSOLE is not set
##
## file: drivers/video/fbdev/Kconfig
##
CONFIG_FB=m
##
## file: drivers/virtio/Kconfig
##
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not set
##
## file: drivers/watchdog/Kconfig
##
CONFIG_ORION_WATCHDOG=m
##
## file: mm/Kconfig
##
## choice: Memory model
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
## end choice
##
## file: net/atm/Kconfig
##
CONFIG_ATM=m
##
## file: net/ax25/Kconfig
##
CONFIG_HAMRADIO=y
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m

View File

@ -1,7 +1,6 @@
[base]
flavours:
kirkwood
orion5x
marvell
versatile
kernel-arch: arm
@ -18,37 +17,25 @@ install-stem: vmlinuz
[relations]
headers%gcc-4.9: linux-compiler-gcc-4.9-arm
[kirkwood_description]
hardware: Marvell Kirkwood
[marvell_description]
hardware: Marvell Kirkwood/Orion
hardware-long: Marvell Kirkwood based systems (SheevaPlug, QNAP TS-119/TS-219, etc)
and Orion 5181, 5182 and 5281 based systems (QNAP TS-109/TS-209, etc)
[kirkwood_image]
[marvell_image]
recommends: u-boot-tools
## Maximum kernel size for supported devices (64 bytes is the u-boot header)
# SheevaPlug: 4194304 - 64 = 4194240
# QNAP TS-119/TS-219: 2097152 - 64 = 2097088
check-size: 2097088
check-size-with-dtb: true
breaks: flash-kernel (<< 3.37~)
configs:
armel/config-reduced
armel/config.kirkwood
[orion5x_description]
hardware: Marvell Orion
hardware-long: Marvell Orion 5181, 5182 and 5281 based systems (QNAP TS-109/TS-209, etc)
[orion5x_image]
recommends: u-boot-tools
## Maximum kernel size for supported devices (8 bytes is the machine ID; 64 bytes the u-boot header)
# D-Link DNS-323: 1572864 - 8 - 64 = 1572792 (too small, no longer supported)
# HP Media Vault mv2120: 2097152 - 8 - 64 = 2097080
# QNAP TS-109/TS-209 & TS-409: 2097152 - 8 - 64 = 2097080
check-size: 2097080
check-size-with-dtb: true
breaks: flash-kernel (<< 3.37~)
configs:
armel/config-reduced
armel/config.orion5x
armel/config.marvell
[versatile_description]
hardware: Versatile

View File

@ -1,4 +1,3 @@
# arch version flavour installedname suffix build-depends
armel - kirkwood - y -
armel - orion5x - y -
armel - marvell - y -
armel - versatile - y -

View File

@ -1 +0,0 @@
#include <btrfs-modules>

View File

@ -1,2 +0,0 @@
#include <cdrom-core-modules>

View File

@ -1 +0,0 @@
#include <core-modules>

View File

@ -1 +0,0 @@
#include <crc-modules>

View File

@ -1 +0,0 @@
#include <crypto-dm-modules>

View File

@ -1 +0,0 @@
#include <crypto-modules>

View File

@ -1,2 +0,0 @@
#include <event-modules>
gpio_keys

View File

@ -1 +0,0 @@
#include <ext4-modules>

View File

@ -1 +0,0 @@
#include <fat-modules>

View File

@ -1 +0,0 @@
#include <fuse-modules>

View File

@ -1 +0,0 @@
#include <isofs-modules>

View File

@ -1 +0,0 @@
#include <jfs-modules>

View File

@ -1 +0,0 @@
# empty

View File

@ -1 +0,0 @@
#include <loop-modules>

View File

@ -1 +0,0 @@
#include <md-modules>

View File

@ -1 +0,0 @@
#include <minix-modules>

View File

@ -1 +0,0 @@
#include <multipath-modules>

View File

@ -1 +0,0 @@
#include <nbd-modules>

View File

@ -1,3 +0,0 @@
inet_lro
mv643xx_eth
mvmdio

View File

@ -1 +0,0 @@
#include <nic-shared-modules>

View File

@ -1 +0,0 @@
#include <nic-usb-modules>

View File

@ -1,2 +0,0 @@
#include <ppp-modules>

View File

@ -1 +0,0 @@
sata_mv

View File

@ -1 +0,0 @@
#include <scsi-core-modules>

View File

@ -1 +0,0 @@
#include <squashfs-modules>

View File

@ -1 +0,0 @@
#include <udf-modules>

View File

@ -1 +0,0 @@
#include <usb-modules>

View File

@ -1 +0,0 @@
#include <usb-serial-modules>

View File

@ -1 +0,0 @@
#include <usb-storage-modules>

View File

@ -0,0 +1,315 @@
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 2 Dec 2015 22:27:04 +0100
Subject: ARM: orion: always use MULTI_IRQ_HANDLER
Origin: https://git.kernel.org/linus/b8cd337c8e0330f4a29b3d1f69b7c73b324b1f8d
As a preparation for multiplatform support, this enables
the MULTI_IRQ_HANDLER code unconditionally on dove and
orion5x, and introduces the respective code on mv78xx0,
which did not have it so far. The classic entry-macro.S
files are removed as they are now obsolete.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
[bwh: Adjust to apply on top of 4.4]
---
arch/arm/Kconfig | 3 ++
arch/arm/mach-dove/include/mach/entry-macro.S | 33 -------------------
arch/arm/mach-dove/irq.c | 12 +------
arch/arm/mach-mv78xx0/include/mach/entry-macro.S | 41 ------------------------
arch/arm/mach-mv78xx0/irq.c | 33 +++++++++++++++++++
arch/arm/mach-orion5x/include/mach/entry-macro.S | 25 ---------------
arch/arm/mach-orion5x/irq.c | 11 -------
arch/arm/plat-orion/irq.c | 1 -
arch/arm/plat-orion/mpp.c | 1 -
9 files changed, 37 insertions(+), 123 deletions(-)
delete mode 100644 arch/arm/mach-dove/include/mach/entry-macro.S
delete mode 100644 arch/arm/mach-mv78xx0/include/mach/entry-macro.S
delete mode 100644 arch/arm/mach-orion5x/include/mach/entry-macro.S
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -512,6 +512,7 @@ config ARCH_DOVE
select CPU_PJ4
select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI
+ select MULTI_IRQ_HANDLER
select MVEBU_MBUS
select PINCTRL
select PINCTRL_DOVE
@@ -525,6 +526,7 @@ config ARCH_MV78XX0
select CPU_FEROCEON
select GENERIC_CLOCKEVENTS
select MVEBU_MBUS
+ select MULTI_IRQ_HANDLER
select PCI
select PLAT_ORION_LEGACY
help
@@ -538,6 +540,7 @@ config ARCH_ORION5X
select CPU_FEROCEON
select GENERIC_CLOCKEVENTS
select MVEBU_MBUS
+ select MULTI_IRQ_HANDLER
select PCI
select PLAT_ORION_LEGACY
select MULTI_IRQ_HANDLER
--- a/arch/arm/mach-dove/include/mach/entry-macro.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/arm/mach-dove/include/mach/entry-macro.S
- *
- * Low-level IRQ helper macros for Marvell Dove platforms
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <mach/bridge-regs.h>
-
- .macro get_irqnr_preamble, base, tmp
- ldr \base, =IRQ_VIRT_BASE
- .endm
-
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- @ check low interrupts
- ldr \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
- ldr \tmp, [\base, #IRQ_MASK_LOW_OFF]
- mov \irqnr, #32
- ands \irqstat, \irqstat, \tmp
-
- @ if no low interrupts set, check high interrupts
- ldreq \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
- ldreq \tmp, [\base, #IRQ_MASK_HIGH_OFF]
- moveq \irqnr, #64
- andeqs \irqstat, \irqstat, \tmp
-
- @ find first active interrupt source
- clzne \irqstat, \irqstat
- subne \irqnr, \irqnr, \irqstat
- .endm
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -13,6 +13,7 @@
#include <linux/irq.h>
#include <linux/gpio.h>
#include <linux/io.h>
+#include <asm/exception.h>
#include <asm/mach/arch.h>
#include <plat/irq.h>
#include <asm/mach/irq.h>
@@ -109,14 +110,6 @@ static int __initdata gpio2_irqs[4] = {
0,
};
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-/*
- * Compiling with both non-DT and DT support enabled, will
- * break asm irq handler used by non-DT boards. Therefore,
- * we provide a C-style irq handler even for non-DT boards,
- * if MULTI_IRQ_HANDLER is set.
- */
-
static void __iomem *dove_irq_base = IRQ_VIRT_BASE;
static asmlinkage void
@@ -139,7 +132,6 @@ __exception_irq_entry dove_legacy_handle
return;
}
}
-#endif
void __init dove_init_irq(void)
{
@@ -148,9 +140,7 @@ void __init dove_init_irq(void)
orion_irq_init(1, IRQ_VIRT_BASE + IRQ_MASK_LOW_OFF);
orion_irq_init(33, IRQ_VIRT_BASE + IRQ_MASK_HIGH_OFF);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
set_handle_irq(dove_legacy_handle_irq);
-#endif
/*
* Initialize gpiolib for GPIOs 0-71.
--- a/arch/arm/mach-mv78xx0/include/mach/entry-macro.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * arch/arm/mach-mv78xx0/include/mach/entry-macro.S
- *
- * Low-level IRQ helper macros for Marvell MV78xx0 platforms
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <mach/bridge-regs.h>
-
- .macro get_irqnr_preamble, base, tmp
- ldr \base, =IRQ_VIRT_BASE
- .endm
-
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- @ check low interrupts
- ldr \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
- ldr \tmp, [\base, #IRQ_MASK_LOW_OFF]
- mov \irqnr, #31
- ands \irqstat, \irqstat, \tmp
- bne 1001f
-
- @ if no low interrupts set, check high interrupts
- ldr \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
- ldr \tmp, [\base, #IRQ_MASK_HIGH_OFF]
- mov \irqnr, #63
- ands \irqstat, \irqstat, \tmp
- bne 1001f
-
- @ if no high interrupts set, check error interrupts
- ldr \irqstat, [\base, #IRQ_CAUSE_ERR_OFF]
- ldr \tmp, [\base, #IRQ_MASK_ERR_OFF]
- mov \irqnr, #95
- ands \irqstat, \irqstat, \tmp
-
- @ find first active interrupt source
-1001: clzne \irqstat, \irqstat
- subne \irqnr, \irqnr, \irqstat
- .endm
--- a/arch/arm/mach-mv78xx0/irq.c
+++ b/arch/arm/mach-mv78xx0/irq.c
@@ -11,6 +11,7 @@
#include <linux/kernel.h>
#include <linux/irq.h>
#include <linux/io.h>
+#include <asm/exception.h>
#include <mach/bridge-regs.h>
#include <plat/orion-gpio.h>
#include <plat/irq.h>
@@ -23,12 +24,44 @@ static int __initdata gpio0_irqs[4] = {
IRQ_MV78XX0_GPIO_24_31,
};
+static void __iomem *mv78xx0_irq_base = IRQ_VIRT_BASE;
+
+static asmlinkage void
+__exception_irq_entry mv78xx0_legacy_handle_irq(struct pt_regs *regs)
+{
+ u32 stat;
+
+ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_LOW_OFF);
+ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_LOW_OFF);
+ if (stat) {
+ unsigned int hwirq = __fls(stat);
+ handle_IRQ(hwirq, regs);
+ return;
+ }
+ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_HIGH_OFF);
+ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_HIGH_OFF);
+ if (stat) {
+ unsigned int hwirq = 32 + __fls(stat);
+ handle_IRQ(hwirq, regs);
+ return;
+ }
+ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_ERR_OFF);
+ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_ERR_OFF);
+ if (stat) {
+ unsigned int hwirq = 64 + __fls(stat);
+ handle_IRQ(hwirq, regs);
+ return;
+ }
+}
+
void __init mv78xx0_init_irq(void)
{
orion_irq_init(0, IRQ_VIRT_BASE + IRQ_MASK_LOW_OFF);
orion_irq_init(32, IRQ_VIRT_BASE + IRQ_MASK_HIGH_OFF);
orion_irq_init(64, IRQ_VIRT_BASE + IRQ_MASK_ERR_OFF);
+ set_handle_irq(mv78xx0_legacy_handle_irq);
+
/*
* Initialize gpiolib for GPIOs 0-31. (The GPIO interrupt mask
* registers for core #1 are at an offset of 0x18 from those of
--- a/arch/arm/mach-orion5x/include/mach/entry-macro.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * arch/arm/mach-orion5x/include/mach/entry-macro.S
- *
- * Low-level IRQ helper macros for Orion platforms
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <mach/bridge-regs.h>
-
- .macro get_irqnr_preamble, base, tmp
- ldr \base, =MAIN_IRQ_CAUSE
- .endm
-
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- ldr \irqstat, [\base, #0] @ main cause
- ldr \tmp, [\base, #(MAIN_IRQ_MASK - MAIN_IRQ_CAUSE)] @ main mask
- mov \irqnr, #0 @ default irqnr
- @ find cause bits that are unmasked
- ands \irqstat, \irqstat, \tmp @ clear Z flag if any
- clzne \irqnr, \irqstat @ calc irqnr
- rsbne \irqnr, \irqnr, #32
- .endm
--- a/arch/arm/mach-orion5x/irq.c
+++ b/arch/arm/mach-orion5x/irq.c
@@ -26,14 +26,6 @@ static int __initdata gpio0_irqs[4] = {
IRQ_ORION5X_GPIO_24_31,
};
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-/*
- * Compiling with both non-DT and DT support enabled, will
- * break asm irq handler used by non-DT boards. Therefore,
- * we provide a C-style irq handler even for non-DT boards,
- * if MULTI_IRQ_HANDLER is set.
- */
-
asmlinkage void
__exception_irq_entry orion5x_legacy_handle_irq(struct pt_regs *regs)
{
@@ -47,15 +39,12 @@ __exception_irq_entry orion5x_legacy_han
return;
}
}
-#endif
void __init orion5x_init_irq(void)
{
orion_irq_init(1, MAIN_IRQ_MASK);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
set_handle_irq(orion5x_legacy_handle_irq);
-#endif
/*
* Initialize gpiolib for GPIOs 0-31.
--- a/arch/arm/plat-orion/irq.c
+++ b/arch/arm/plat-orion/irq.c
@@ -18,7 +18,6 @@
#include <asm/exception.h>
#include <plat/irq.h>
#include <plat/orion-gpio.h>
-#include <mach/bridge-regs.h>
void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr)
{
--- a/arch/arm/plat-orion/mpp.c
+++ b/arch/arm/plat-orion/mpp.c
@@ -13,7 +13,6 @@
#include <linux/mbus.h>
#include <linux/io.h>
#include <linux/gpio.h>
-#include <mach/hardware.h>
#include <plat/orion-gpio.h>
#include <plat/mpp.h>

View File

@ -0,0 +1,132 @@
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 2 Dec 2015 22:27:03 +0100
Subject: ARM: orion: move watchdog setup to mach-orion5x
Origin: https://git.kernel.org/linus/06f3008a6a7454389a82495eb1fc132c2b0710f6
The watchdog device node is created in plat-orion/common.c
but depends on the bridge address that is platform specific,
so as a preparation for orion multiplatform support, we
move it out of the common code into orion5x and dove.
At the moment, dove does not use the watchdog, so I'm marking
the function as __maybe_unused for the moment. The compiler
will be able to compile out the device definition this way,
and we can easily add it later.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
arch/arm/mach-dove/common.c | 17 +++++++++++++++++
arch/arm/mach-orion5x/common.c | 14 +++++++++++++-
arch/arm/plat-orion/common.c | 21 ---------------------
arch/arm/plat-orion/include/plat/common.h | 2 --
4 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c
index 0d1a892..25a682f 100644
--- a/arch/arm/mach-dove/common.c
+++ b/arch/arm/mach-dove/common.c
@@ -375,6 +375,23 @@ void __init dove_setup_cpu_wins(void)
DOVE_SCRATCHPAD_SIZE);
}
+static struct resource orion_wdt_resource[] = {
+ DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
+ DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
+};
+
+static struct platform_device orion_wdt_device = {
+ .name = "orion_wdt",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(orion_wdt_resource),
+ .resource = orion_wdt_resource,
+};
+
+static void __init __maybe_unused orion_wdt_init(void)
+{
+ platform_device_register(&orion_wdt_device);
+}
+
void __init dove_init(void)
{
pr_info("Dove 88AP510 SoC, TCLK = %d MHz.\n",
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
index 6bbb7b5..2b7889e 100644
--- a/arch/arm/mach-orion5x/common.c
+++ b/arch/arm/mach-orion5x/common.c
@@ -184,9 +184,21 @@ static void __init orion5x_crypto_init(void)
/*****************************************************************************
* Watchdog
****************************************************************************/
+static struct resource orion_wdt_resource[] = {
+ DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
+ DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
+};
+
+static struct platform_device orion_wdt_device = {
+ .name = "orion_wdt",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(orion_wdt_resource),
+ .resource = orion_wdt_resource,
+};
+
static void __init orion5x_wdt_init(void)
{
- orion_wdt_init();
+ platform_device_register(&orion_wdt_device);
}
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
index 8861c36..78c8bf4 100644
--- a/arch/arm/plat-orion/common.c
+++ b/arch/arm/plat-orion/common.c
@@ -21,7 +21,6 @@
#include <net/dsa.h>
#include <linux/platform_data/dma-mv_xor.h>
#include <linux/platform_data/usb-ehci-orion.h>
-#include <mach/bridge-regs.h>
#include <plat/common.h>
/* Create a clkdev entry for a given device/clk */
@@ -589,26 +588,6 @@ void __init orion_spi_1_init(unsigned long mapbase)
}
/*****************************************************************************
- * Watchdog
- ****************************************************************************/
-static struct resource orion_wdt_resource[] = {
- DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
- DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
-};
-
-static struct platform_device orion_wdt_device = {
- .name = "orion_wdt",
- .id = -1,
- .num_resources = ARRAY_SIZE(orion_wdt_resource),
- .resource = orion_wdt_resource,
-};
-
-void __init orion_wdt_init(void)
-{
- platform_device_register(&orion_wdt_device);
-}
-
-/*****************************************************************************
* XOR
****************************************************************************/
static u64 orion_xor_dmamask = DMA_BIT_MASK(32);
diff --git a/arch/arm/plat-orion/include/plat/common.h b/arch/arm/plat-orion/include/plat/common.h
index d9a24f6..9e6d76a 100644
--- a/arch/arm/plat-orion/include/plat/common.h
+++ b/arch/arm/plat-orion/include/plat/common.h
@@ -75,8 +75,6 @@ void __init orion_spi_init(unsigned long mapbase);
void __init orion_spi_1_init(unsigned long mapbase);
-void __init orion_wdt_init(void);
-
void __init orion_xor0_init(unsigned long mapbase_low,
unsigned long mapbase_high,
unsigned long irq_0,

View File

@ -0,0 +1,392 @@
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 2 Dec 2015 22:27:05 +0100
Subject: ARM: orion: use SPARSE_IRQ everywhere
Origin: https://git.kernel.org/linus/5cdbe5d23a8a0d7274d628bb9d5ff018d25075ca
As a preparation for multiplatform support, this moves all the
code using plat-orion over to use sparse irq support, which is
enabled implicitly for multiplatform.
In particular, the hardcoded NR_IRQS macro gets replaced with
a machine specific one that is set in the machine descriptor
in order to set up a static mapping for all legacy interrupts.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
arch/arm/Kconfig | 3 +++
arch/arm/mach-dove/cm-a510.c | 1 +
arch/arm/mach-dove/dove-db-setup.c | 1 +
arch/arm/mach-dove/include/mach/dove.h | 2 ++
arch/arm/mach-dove/include/mach/irqs.h | 2 +-
arch/arm/mach-dove/include/mach/pm.h | 2 +-
arch/arm/mach-dove/irq.c | 2 +-
arch/arm/mach-mv78xx0/buffalo-wxl-setup.c | 1 +
arch/arm/mach-mv78xx0/db78x00-bp-setup.c | 1 +
arch/arm/mach-mv78xx0/include/mach/irqs.h | 2 +-
arch/arm/mach-mv78xx0/include/mach/mv78xx0.h | 2 ++
arch/arm/mach-mv78xx0/rd78x00-masa-setup.c | 1 +
arch/arm/mach-orion5x/db88f5281-setup.c | 1 +
arch/arm/mach-orion5x/dns323-setup.c | 1 +
arch/arm/mach-orion5x/include/mach/irqs.h | 2 +-
arch/arm/mach-orion5x/include/mach/orion5x.h | 2 ++
arch/arm/mach-orion5x/kurobox_pro-setup.c | 2 ++
arch/arm/mach-orion5x/ls-chl-setup.c | 1 +
arch/arm/mach-orion5x/ls_hgl-setup.c | 1 +
arch/arm/mach-orion5x/mv2120-setup.c | 1 +
arch/arm/mach-orion5x/net2big-setup.c | 1 +
arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 1 +
arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 1 +
arch/arm/mach-orion5x/rd88f5182-setup.c | 1 +
arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 1 +
arch/arm/mach-orion5x/terastation_pro2-setup.c | 1 +
arch/arm/mach-orion5x/ts209-setup.c | 1 +
arch/arm/mach-orion5x/ts409-setup.c | 1 +
arch/arm/mach-orion5x/ts78xx-setup.c | 1 +
arch/arm/mach-orion5x/wnr854t-setup.c | 1 +
arch/arm/mach-orion5x/wrt350n-v2-setup.c | 1 +
31 files changed, 37 insertions(+), 5 deletions(-)
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -517,6 +517,7 @@ config ARCH_DOVE
select PINCTRL
select PINCTRL_DOVE
select PLAT_ORION_LEGACY
+ select SPARSE_IRQ
help
Support for the Marvell Dove SoC 88AP510
@@ -529,6 +530,7 @@ config ARCH_MV78XX0
select MULTI_IRQ_HANDLER
select PCI
select PLAT_ORION_LEGACY
+ select SPARSE_IRQ
help
Support for the following Marvell MV78xx0 series SoCs:
MV781x0, MV782x0.
@@ -544,6 +546,7 @@ config ARCH_ORION5X
select PCI
select PLAT_ORION_LEGACY
select MULTI_IRQ_HANDLER
+ select SPARSE_IRQ
help
Support for the following Marvell Orion 5x series SoCs:
Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
--- a/arch/arm/mach-dove/cm-a510.c
+++ b/arch/arm/mach-dove/cm-a510.c
@@ -88,6 +88,7 @@ static void __init cm_a510_init(void)
MACHINE_START(CM_A510, "Compulab CM-A510 Board")
.atag_offset = 0x100,
+ .nr_irqs = DOVE_NR_IRQS,
.init_machine = cm_a510_init,
.map_io = dove_map_io,
.init_early = dove_init_early,
--- a/arch/arm/mach-dove/dove-db-setup.c
+++ b/arch/arm/mach-dove/dove-db-setup.c
@@ -94,6 +94,7 @@ static void __init dove_db_init(void)
MACHINE_START(DOVE_DB, "Marvell DB-MV88AP510-BP Development Board")
.atag_offset = 0x100,
+ .nr_irqs = DOVE_NR_IRQS,
.init_machine = dove_db_init,
.map_io = dove_map_io,
.init_early = dove_init_early,
--- a/arch/arm/mach-dove/include/mach/dove.h
+++ b/arch/arm/mach-dove/include/mach/dove.h
@@ -11,6 +11,8 @@
#ifndef __ASM_ARCH_DOVE_H
#define __ASM_ARCH_DOVE_H
+#include <mach/irqs.h>
+
/*
* Marvell Dove address maps.
*
--- a/arch/arm/mach-dove/include/mach/irqs.h
+++ b/arch/arm/mach-dove/include/mach/irqs.h
@@ -90,7 +90,7 @@
#define NR_PMU_IRQS 7
#define IRQ_DOVE_RTC (IRQ_DOVE_PMU_START + 5)
-#define NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS)
+#define DOVE_NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS)
#endif
--- a/arch/arm/mach-dove/include/mach/pm.h
+++ b/arch/arm/mach-dove/include/mach/pm.h
@@ -63,7 +63,7 @@ static inline int pmu_to_irq(int pin)
static inline int irq_to_pmu(int irq)
{
- if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS)
+ if (IRQ_DOVE_PMU_START <= irq && irq < DOVE_NR_IRQS)
return irq - IRQ_DOVE_PMU_START;
return -EINVAL;
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -160,7 +160,7 @@ void __init dove_init_irq(void)
writel(0, PMU_INTERRUPT_MASK);
writel(0, PMU_INTERRUPT_CAUSE);
- for (i = IRQ_DOVE_PMU_START; i < NR_IRQS; i++) {
+ for (i = IRQ_DOVE_PMU_START; i < DOVE_NR_IRQS; i++) {
irq_set_chip_and_handler(i, &pmu_irq_chip, handle_level_irq);
irq_set_status_flags(i, IRQ_LEVEL);
irq_clear_status_flags(i, IRQ_NOREQUEST);
--- a/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
+++ b/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
@@ -146,6 +146,7 @@ subsys_initcall(wxl_pci_init);
MACHINE_START(TERASTATION_WXL, "Buffalo Nas WXL")
/* Maintainer: Sebastien Requiem <sebastien@requiem.fr> */
.atag_offset = 0x100,
+ .nr_irqs = MV78XX0_NR_IRQS,
.init_machine = wxl_init,
.map_io = mv78xx0_map_io,
.init_early = mv78xx0_init_early,
--- a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
+++ b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
@@ -94,6 +94,7 @@ subsys_initcall(db78x00_pci_init);
MACHINE_START(DB78X00_BP, "Marvell DB-78x00-BP Development Board")
/* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = MV78XX0_NR_IRQS,
.init_machine = db78x00_init,
.map_io = mv78xx0_map_io,
.init_early = mv78xx0_init_early,
--- a/arch/arm/mach-mv78xx0/include/mach/irqs.h
+++ b/arch/arm/mach-mv78xx0/include/mach/irqs.h
@@ -88,7 +88,7 @@
#define IRQ_MV78XX0_GPIO_START 96
#define NR_GPIO_IRQS 32
-#define NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS)
+#define MV78XX0_NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS)
#endif
--- a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
+++ b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
@@ -12,6 +12,8 @@
#ifndef __ASM_ARCH_MV78XX0_H
#define __ASM_ARCH_MV78XX0_H
+#include "irqs.h"
+
/*
* Marvell MV78xx0 address maps.
*
--- a/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
+++ b/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
@@ -79,6 +79,7 @@ subsys_initcall(rd78x00_pci_init);
MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board")
/* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = MV78XX0_NR_IRQS,
.init_machine = rd78x00_masa_init,
.map_io = mv78xx0_map_io,
.init_early = mv78xx0_init_early,
--- a/arch/arm/mach-orion5x/db88f5281-setup.c
+++ b/arch/arm/mach-orion5x/db88f5281-setup.c
@@ -369,6 +369,7 @@ static void __init db88f5281_init(void)
MACHINE_START(DB88F5281, "Marvell Orion-2 Development Board")
/* Maintainer: Tzachi Perelstein <tzachi@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = db88f5281_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -666,6 +666,7 @@ static void __init dns323_init(void)
MACHINE_START(DNS323, "D-Link DNS-323")
/* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = dns323_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/include/mach/irqs.h
+++ b/arch/arm/mach-orion5x/include/mach/irqs.h
@@ -54,7 +54,7 @@
#define IRQ_ORION5X_GPIO_START 33
#define NR_GPIO_IRQS 32
-#define NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
+#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
#endif
--- a/arch/arm/mach-orion5x/include/mach/orion5x.h
+++ b/arch/arm/mach-orion5x/include/mach/orion5x.h
@@ -14,6 +14,8 @@
#ifndef __ASM_ARCH_ORION5X_H
#define __ASM_ARCH_ORION5X_H
+#include <mach/irqs.h>
+
/*****************************************************************************
* Orion Address Maps
*
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -383,6 +383,7 @@ static void __init kurobox_pro_init(void
MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro")
/* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = kurobox_pro_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
@@ -397,6 +398,7 @@ MACHINE_END
MACHINE_START(LINKSTATION_PRO, "Buffalo Linkstation Pro/Live")
/* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = kurobox_pro_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/ls-chl-setup.c
+++ b/arch/arm/mach-orion5x/ls-chl-setup.c
@@ -320,6 +320,7 @@ static void __init lschl_init(void)
MACHINE_START(LINKSTATION_LSCHL, "Buffalo Linkstation LiveV3 (LS-CHL)")
/* Maintainer: Ash Hughes <ashley.hughes@blueyonder.co.uk> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = lschl_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/ls_hgl-setup.c
+++ b/arch/arm/mach-orion5x/ls_hgl-setup.c
@@ -267,6 +267,7 @@ static void __init ls_hgl_init(void)
MACHINE_START(LINKSTATION_LS_HGL, "Buffalo Linkstation LS-HGL")
/* Maintainer: Zhu Qingsen <zhuqs@cn.fujistu.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = ls_hgl_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/mv2120-setup.c
+++ b/arch/arm/mach-orion5x/mv2120-setup.c
@@ -232,6 +232,7 @@ static void __init mv2120_init(void)
MACHINE_START(MV2120, "HP Media Vault mv2120")
/* Maintainer: Martin Michlmayr <tbm@cyrius.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = mv2120_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/net2big-setup.c
+++ b/arch/arm/mach-orion5x/net2big-setup.c
@@ -423,6 +423,7 @@ static void __init net2big_init(void)
/* Warning: LaCie use a wrong mach-type (0x20e=526) in their bootloader. */
MACHINE_START(NET2BIG, "LaCie 2Big Network")
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = net2big_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
@@ -169,6 +169,7 @@ subsys_initcall(rd88f5181l_fxo_pci_init)
MACHINE_START(RD88F5181L_FXO, "Marvell Orion-VoIP FXO Reference Design")
/* Maintainer: Nicolas Pitre <nico@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = rd88f5181l_fxo_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
@@ -181,6 +181,7 @@ subsys_initcall(rd88f5181l_ge_pci_init);
MACHINE_START(RD88F5181L_GE, "Marvell Orion-VoIP GE Reference Design")
/* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = rd88f5181l_ge_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
@@ -281,6 +281,7 @@ static void __init rd88f5182_init(void)
MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
/* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = rd88f5182_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
@@ -119,6 +119,7 @@ subsys_initcall(rd88f6183ap_ge_pci_init)
MACHINE_START(RD88F6183AP_GE, "Marvell Orion-1-90 AP GE Reference Design")
/* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = rd88f6183ap_ge_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
+++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
@@ -359,6 +359,7 @@ static void __init tsp2_init(void)
MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live")
/* Maintainer: Sylver Bruneau <sylver.bruneau@googlemail.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = tsp2_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/ts209-setup.c
+++ b/arch/arm/mach-orion5x/ts209-setup.c
@@ -324,6 +324,7 @@ static void __init qnap_ts209_init(void)
MACHINE_START(TS209, "QNAP TS-109/TS-209")
/* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = qnap_ts209_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/ts409-setup.c
+++ b/arch/arm/mach-orion5x/ts409-setup.c
@@ -313,6 +313,7 @@ static void __init qnap_ts409_init(void)
MACHINE_START(TS409, "QNAP TS-409")
/* Maintainer: Sylver Bruneau <sylver.bruneau@gmail.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = qnap_ts409_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -615,6 +615,7 @@ static void __init ts78xx_init(void)
MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
/* Maintainer: Alexander Clouter <alex@digriz.org.uk> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = ts78xx_init,
.map_io = ts78xx_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/wnr854t-setup.c
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -174,6 +174,7 @@ subsys_initcall(wnr854t_pci_init);
MACHINE_START(WNR854T, "Netgear WNR854T")
/* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = wnr854t_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
@@ -262,6 +262,7 @@ subsys_initcall(wrt350n_v2_pci_init);
MACHINE_START(WRT350N_V2, "Linksys WRT350N v2")
/* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
.atag_offset = 0x100,
+ .nr_irqs = ORION5X_NR_IRQS,
.init_machine = wrt350n_v2_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,147 @@
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 2 Dec 2015 22:27:09 +0100
Subject: ARM: orion5x: multiplatform support
Origin: https://git.kernel.org/linus/63cddd25fa02dbba294fb09f78ea24d7a9f1c7d9
The orion5x platform is now ready to be enabled for multiplatform
support, this patch does the switch over by modifying the Kconfig file,
the defconfig and removing the last mach/*.h header that becomes obsolete
with this.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
arch/arm/Kconfig | 17 ---------
arch/arm/configs/orion5x_defconfig | 3 ++
arch/arm/mach-orion5x/Kconfig | 18 +++++++---
arch/arm/mach-orion5x/Makefile | 2 ++
arch/arm/mach-orion5x/include/mach/uncompress.h | 46 -------------------------
5 files changed, 19 insertions(+), 67 deletions(-)
delete mode 100644 arch/arm/mach-orion5x/include/mach/uncompress.h
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -535,23 +535,6 @@ config ARCH_MV78XX0
Support for the following Marvell MV78xx0 series SoCs:
MV781x0, MV782x0.
-config ARCH_ORION5X
- bool "Marvell Orion"
- depends on MMU
- select ARCH_REQUIRE_GPIOLIB
- select CPU_FEROCEON
- select GENERIC_CLOCKEVENTS
- select MVEBU_MBUS
- select MULTI_IRQ_HANDLER
- select PCI
- select PLAT_ORION_LEGACY
- select MULTI_IRQ_HANDLER
- select SPARSE_IRQ
- help
- Support for the following Marvell Orion 5x series SoCs:
- Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
- Orion-2 (5281), Orion-1-90 (6183).
-
config ARCH_MMP
bool "Marvell PXA168/910/MMP2"
depends on MMU
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -13,6 +13,9 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_BSD_DISKLABEL=y
+CONFIG_ARCH_MULTI_V5=y
+# CONFIG_ARCH_MULTI_V6 is not set
+# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_ORION5X=y
CONFIG_ARCH_ORION5X_DT=y
CONFIG_MACH_DB88F5281=y
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -1,6 +1,18 @@
-if ARCH_ORION5X
+menuconfig ARCH_ORION5X
+ bool "Marvell Orion"
+ depends on MMU && ARCH_MULTI_V5
+ select ARCH_REQUIRE_GPIOLIB
+ select CPU_FEROCEON
+ select GENERIC_CLOCKEVENTS
+ select MVEBU_MBUS
+ select PCI
+ select PLAT_ORION_LEGACY
+ help
+ Support for the following Marvell Orion 5x series SoCs:
+ Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
+ Orion-2 (5281), Orion-1-90 (6183).
-menu "Orion Implementations"
+if ARCH_ORION5X
config ARCH_ORION5X_DT
bool "Marvell Orion5x Flattened Device Tree"
@@ -163,6 +175,4 @@ config MACH_RD88F6183AP_GE
Say 'Y' here if you want your kernel to support the
Marvell Orion-1-90 (88F6183) AP GE RD.
-endmenu
-
endif
--- a/arch/arm/mach-orion5x/Makefile
+++ b/arch/arm/mach-orion5x/Makefile
@@ -1,3 +1,5 @@
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
+
obj-y += common.o pci.o irq.o mpp.o
obj-$(CONFIG_MACH_DB88F5281) += db88f5281-setup.o
obj-$(CONFIG_MACH_RD88F5182) += rd88f5182-setup.o
--- a/arch/arm/mach-orion5x/include/mach/uncompress.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Tzachi Perelstein <tzachi@marvell.com>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <linux/serial_reg.h>
-
-#define UART0_PHYS_BASE (0xf1000000 + 0x12000)
-#define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)
-
-static void putc(const char c)
-{
- unsigned char *base = SERIAL_BASE;
- int i;
-
- for (i = 0; i < 0x1000; i++) {
- if (base[UART_LSR << 2] & UART_LSR_THRE)
- break;
- barrier();
- }
-
- base[UART_TX << 2] = c;
-}
-
-static void flush(void)
-{
- unsigned char *base = SERIAL_BASE;
- unsigned char mask;
- int i;
-
- mask = UART_LSR_TEMT | UART_LSR_THRE;
-
- for (i = 0; i < 0x1000; i++) {
- if ((base[UART_LSR << 2] & mask) == mask)
- break;
- barrier();
- }
-}
-
-/*
- * nothing to do
- */
-#define arch_decomp_setup()

View File

@ -79,6 +79,11 @@ features/arm/rpi/arm-bcm2835-move-the-cpu-peripheral-include-out-of-c.patch
features/arm/rpi/arm-bcm2835-add-devicetree-for-bcm2836-and-raspberry.patch
features/arm/rpi/arm-bcm2835-add-the-auxiliary-clocks-to-the-device-t.patch
features/sparc/hwrng-n2-attach-on-t5-m5-t7-m7-sparc-cpus.patch
features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
features/arm/arm-orion-always-use-multi_irq_handler.patch
features/arm/arm-orion-use-sparse_irq-everywhere.patch
features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
features/arm/arm-orion5x-multiplatform-support.patch
# Miscellaneous bug fixes
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch