[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:
parent
43671fd62b
commit
7f810117b9
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# arch version flavour installedname suffix build-depends
|
||||
armel - kirkwood - y -
|
||||
armel - orion5x - y -
|
||||
armel - marvell - y -
|
||||
armel - versatile - y -
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
#include <btrfs-modules>
|
|
@ -1,2 +0,0 @@
|
|||
#include <cdrom-core-modules>
|
||||
|
|
@ -1 +0,0 @@
|
|||
#include <core-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <crc-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <crypto-dm-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <crypto-modules>
|
|
@ -1,2 +0,0 @@
|
|||
#include <event-modules>
|
||||
gpio_keys
|
|
@ -1 +0,0 @@
|
|||
#include <ext4-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <fat-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <fuse-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <isofs-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <jfs-modules>
|
|
@ -1 +0,0 @@
|
|||
# empty
|
|
@ -1 +0,0 @@
|
|||
#include <loop-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <md-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <minix-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <multipath-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <nbd-modules>
|
|
@ -1,3 +0,0 @@
|
|||
inet_lro
|
||||
mv643xx_eth
|
||||
mvmdio
|
|
@ -1 +0,0 @@
|
|||
#include <nic-shared-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <nic-usb-modules>
|
|
@ -1,2 +0,0 @@
|
|||
#include <ppp-modules>
|
||||
|
|
@ -1 +0,0 @@
|
|||
sata_mv
|
|
@ -1 +0,0 @@
|
|||
#include <scsi-core-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <squashfs-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <udf-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <usb-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <usb-serial-modules>
|
|
@ -1 +0,0 @@
|
|||
#include <usb-storage-modules>
|
|
@ -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>
|
||||
|
132
debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
vendored
Normal file
132
debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
vendored
Normal 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,
|
|
@ -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
|
@ -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()
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue