diff --git a/debian/changelog b/debian/changelog index 9b8a7ffd1..832c99b8c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Sat, 23 Jan 2016 08:23:05 +0000 diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.marvell similarity index 89% rename from debian/config/armel/config.kirkwood rename to debian/config/armel/config.marvell index c636dcac2..ab7da2295 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.marvell @@ -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 diff --git a/debian/config/armel/config.orion5x b/debian/config/armel/config.orion5x deleted file mode 100644 index cda43ba00..000000000 --- a/debian/config/armel/config.orion5x +++ /dev/null @@ -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 - diff --git a/debian/config/armel/defines b/debian/config/armel/defines index e3cda0b9f..688c89a09 100644 --- a/debian/config/armel/defines +++ b/debian/config/armel/defines @@ -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 diff --git a/debian/installer/armel/kernel-versions b/debian/installer/armel/kernel-versions index 5dd889568..501fd0648 100644 --- a/debian/installer/armel/kernel-versions +++ b/debian/installer/armel/kernel-versions @@ -1,4 +1,3 @@ # arch version flavour installedname suffix build-depends -armel - kirkwood - y - -armel - orion5x - y - +armel - marvell - y - armel - versatile - y - diff --git a/debian/installer/armel/modules/armel-kirkwood/btrfs-modules b/debian/installer/armel/modules/armel-marvell/btrfs-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/btrfs-modules rename to debian/installer/armel/modules/armel-marvell/btrfs-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/cdrom-core-modules b/debian/installer/armel/modules/armel-marvell/cdrom-core-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/cdrom-core-modules rename to debian/installer/armel/modules/armel-marvell/cdrom-core-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/core-modules b/debian/installer/armel/modules/armel-marvell/core-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/core-modules rename to debian/installer/armel/modules/armel-marvell/core-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/crc-modules b/debian/installer/armel/modules/armel-marvell/crc-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/crc-modules rename to debian/installer/armel/modules/armel-marvell/crc-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/crypto-dm-modules b/debian/installer/armel/modules/armel-marvell/crypto-dm-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/crypto-dm-modules rename to debian/installer/armel/modules/armel-marvell/crypto-dm-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/crypto-modules b/debian/installer/armel/modules/armel-marvell/crypto-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/crypto-modules rename to debian/installer/armel/modules/armel-marvell/crypto-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/event-modules b/debian/installer/armel/modules/armel-marvell/event-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/event-modules rename to debian/installer/armel/modules/armel-marvell/event-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/ext4-modules b/debian/installer/armel/modules/armel-marvell/ext4-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/ext4-modules rename to debian/installer/armel/modules/armel-marvell/ext4-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/fat-modules b/debian/installer/armel/modules/armel-marvell/fat-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/fat-modules rename to debian/installer/armel/modules/armel-marvell/fat-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/fb-modules b/debian/installer/armel/modules/armel-marvell/fb-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/fb-modules rename to debian/installer/armel/modules/armel-marvell/fb-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/fuse-modules b/debian/installer/armel/modules/armel-marvell/fuse-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/fuse-modules rename to debian/installer/armel/modules/armel-marvell/fuse-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/input-modules b/debian/installer/armel/modules/armel-marvell/input-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/input-modules rename to debian/installer/armel/modules/armel-marvell/input-modules diff --git a/debian/installer/armel/modules/armel-orion5x/ipv6-modules b/debian/installer/armel/modules/armel-marvell/ipv6-modules similarity index 100% rename from debian/installer/armel/modules/armel-orion5x/ipv6-modules rename to debian/installer/armel/modules/armel-marvell/ipv6-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/isofs-modules b/debian/installer/armel/modules/armel-marvell/isofs-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/isofs-modules rename to debian/installer/armel/modules/armel-marvell/isofs-modules diff --git a/debian/installer/armel/modules/armel-orion5x/jffs2-modules b/debian/installer/armel/modules/armel-marvell/jffs2-modules similarity index 100% rename from debian/installer/armel/modules/armel-orion5x/jffs2-modules rename to debian/installer/armel/modules/armel-marvell/jffs2-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/jfs-modules b/debian/installer/armel/modules/armel-marvell/jfs-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/jfs-modules rename to debian/installer/armel/modules/armel-marvell/jfs-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/kernel-image b/debian/installer/armel/modules/armel-marvell/kernel-image similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/kernel-image rename to debian/installer/armel/modules/armel-marvell/kernel-image diff --git a/debian/installer/armel/modules/armel-kirkwood/leds-modules b/debian/installer/armel/modules/armel-marvell/leds-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/leds-modules rename to debian/installer/armel/modules/armel-marvell/leds-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/loop-modules b/debian/installer/armel/modules/armel-marvell/loop-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/loop-modules rename to debian/installer/armel/modules/armel-marvell/loop-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/md-modules b/debian/installer/armel/modules/armel-marvell/md-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/md-modules rename to debian/installer/armel/modules/armel-marvell/md-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/minix-modules b/debian/installer/armel/modules/armel-marvell/minix-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/minix-modules rename to debian/installer/armel/modules/armel-marvell/minix-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/mmc-modules b/debian/installer/armel/modules/armel-marvell/mmc-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/mmc-modules rename to debian/installer/armel/modules/armel-marvell/mmc-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/mouse-modules b/debian/installer/armel/modules/armel-marvell/mouse-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/mouse-modules rename to debian/installer/armel/modules/armel-marvell/mouse-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/multipath-modules b/debian/installer/armel/modules/armel-marvell/multipath-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/multipath-modules rename to debian/installer/armel/modules/armel-marvell/multipath-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/nbd-modules b/debian/installer/armel/modules/armel-marvell/nbd-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/nbd-modules rename to debian/installer/armel/modules/armel-marvell/nbd-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-modules b/debian/installer/armel/modules/armel-marvell/nic-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/nic-modules rename to debian/installer/armel/modules/armel-marvell/nic-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-shared-modules b/debian/installer/armel/modules/armel-marvell/nic-shared-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/nic-shared-modules rename to debian/installer/armel/modules/armel-marvell/nic-shared-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-usb-modules b/debian/installer/armel/modules/armel-marvell/nic-usb-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/nic-usb-modules rename to debian/installer/armel/modules/armel-marvell/nic-usb-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/ppp-modules b/debian/installer/armel/modules/armel-marvell/ppp-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/ppp-modules rename to debian/installer/armel/modules/armel-marvell/ppp-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/sata-modules b/debian/installer/armel/modules/armel-marvell/sata-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/sata-modules rename to debian/installer/armel/modules/armel-marvell/sata-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/scsi-core-modules b/debian/installer/armel/modules/armel-marvell/scsi-core-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/scsi-core-modules rename to debian/installer/armel/modules/armel-marvell/scsi-core-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/squashfs-modules b/debian/installer/armel/modules/armel-marvell/squashfs-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/squashfs-modules rename to debian/installer/armel/modules/armel-marvell/squashfs-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/udf-modules b/debian/installer/armel/modules/armel-marvell/udf-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/udf-modules rename to debian/installer/armel/modules/armel-marvell/udf-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/uinput-modules b/debian/installer/armel/modules/armel-marvell/uinput-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/uinput-modules rename to debian/installer/armel/modules/armel-marvell/uinput-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-modules b/debian/installer/armel/modules/armel-marvell/usb-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/usb-modules rename to debian/installer/armel/modules/armel-marvell/usb-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-serial-modules b/debian/installer/armel/modules/armel-marvell/usb-serial-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/usb-serial-modules rename to debian/installer/armel/modules/armel-marvell/usb-serial-modules diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-storage-modules b/debian/installer/armel/modules/armel-marvell/usb-storage-modules similarity index 100% rename from debian/installer/armel/modules/armel-kirkwood/usb-storage-modules rename to debian/installer/armel/modules/armel-marvell/usb-storage-modules diff --git a/debian/installer/armel/modules/armel-orion5x/zlib-modules b/debian/installer/armel/modules/armel-marvell/zlib-modules similarity index 100% rename from debian/installer/armel/modules/armel-orion5x/zlib-modules rename to debian/installer/armel/modules/armel-marvell/zlib-modules diff --git a/debian/installer/armel/modules/armel-orion5x/btrfs-modules b/debian/installer/armel/modules/armel-orion5x/btrfs-modules deleted file mode 100644 index e261e1388..000000000 --- a/debian/installer/armel/modules/armel-orion5x/btrfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules b/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules deleted file mode 100644 index e264d7aa3..000000000 --- a/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/armel/modules/armel-orion5x/core-modules b/debian/installer/armel/modules/armel-orion5x/core-modules deleted file mode 100644 index f05d06298..000000000 --- a/debian/installer/armel/modules/armel-orion5x/core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/crc-modules b/debian/installer/armel/modules/armel-orion5x/crc-modules deleted file mode 100644 index 7e00de705..000000000 --- a/debian/installer/armel/modules/armel-orion5x/crc-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules b/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules deleted file mode 100644 index 4c8f2354c..000000000 --- a/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/crypto-modules b/debian/installer/armel/modules/armel-orion5x/crypto-modules deleted file mode 100644 index 3a1e862b4..000000000 --- a/debian/installer/armel/modules/armel-orion5x/crypto-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/event-modules b/debian/installer/armel/modules/armel-orion5x/event-modules deleted file mode 100644 index 0bc9f776d..000000000 --- a/debian/installer/armel/modules/armel-orion5x/event-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include -gpio_keys diff --git a/debian/installer/armel/modules/armel-orion5x/ext4-modules b/debian/installer/armel/modules/armel-orion5x/ext4-modules deleted file mode 100644 index 394c577ce..000000000 --- a/debian/installer/armel/modules/armel-orion5x/ext4-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/fat-modules b/debian/installer/armel/modules/armel-orion5x/fat-modules deleted file mode 100644 index 274584eb6..000000000 --- a/debian/installer/armel/modules/armel-orion5x/fat-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/fuse-modules b/debian/installer/armel/modules/armel-orion5x/fuse-modules deleted file mode 100644 index 0b6ba0c8c..000000000 --- a/debian/installer/armel/modules/armel-orion5x/fuse-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/isofs-modules b/debian/installer/armel/modules/armel-orion5x/isofs-modules deleted file mode 100644 index da4fa9a3c..000000000 --- a/debian/installer/armel/modules/armel-orion5x/isofs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/jfs-modules b/debian/installer/armel/modules/armel-orion5x/jfs-modules deleted file mode 100644 index 7e4d912b9..000000000 --- a/debian/installer/armel/modules/armel-orion5x/jfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/kernel-image b/debian/installer/armel/modules/armel-orion5x/kernel-image deleted file mode 100644 index 1bb8bf6d7..000000000 --- a/debian/installer/armel/modules/armel-orion5x/kernel-image +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/debian/installer/armel/modules/armel-orion5x/loop-modules b/debian/installer/armel/modules/armel-orion5x/loop-modules deleted file mode 100644 index c1c948fa3..000000000 --- a/debian/installer/armel/modules/armel-orion5x/loop-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/md-modules b/debian/installer/armel/modules/armel-orion5x/md-modules deleted file mode 100644 index 26115e10b..000000000 --- a/debian/installer/armel/modules/armel-orion5x/md-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/minix-modules b/debian/installer/armel/modules/armel-orion5x/minix-modules deleted file mode 100644 index 82b984372..000000000 --- a/debian/installer/armel/modules/armel-orion5x/minix-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/multipath-modules b/debian/installer/armel/modules/armel-orion5x/multipath-modules deleted file mode 100644 index a8b69b253..000000000 --- a/debian/installer/armel/modules/armel-orion5x/multipath-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/nbd-modules b/debian/installer/armel/modules/armel-orion5x/nbd-modules deleted file mode 100644 index 3c9b3e5d4..000000000 --- a/debian/installer/armel/modules/armel-orion5x/nbd-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/nic-modules b/debian/installer/armel/modules/armel-orion5x/nic-modules deleted file mode 100644 index 9f90d9e3c..000000000 --- a/debian/installer/armel/modules/armel-orion5x/nic-modules +++ /dev/null @@ -1,3 +0,0 @@ -inet_lro -mv643xx_eth -mvmdio diff --git a/debian/installer/armel/modules/armel-orion5x/nic-shared-modules b/debian/installer/armel/modules/armel-orion5x/nic-shared-modules deleted file mode 100644 index cc84b14dc..000000000 --- a/debian/installer/armel/modules/armel-orion5x/nic-shared-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/nic-usb-modules b/debian/installer/armel/modules/armel-orion5x/nic-usb-modules deleted file mode 100644 index c479669b4..000000000 --- a/debian/installer/armel/modules/armel-orion5x/nic-usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/ppp-modules b/debian/installer/armel/modules/armel-orion5x/ppp-modules deleted file mode 100644 index f1ae9b3d1..000000000 --- a/debian/installer/armel/modules/armel-orion5x/ppp-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/armel/modules/armel-orion5x/sata-modules b/debian/installer/armel/modules/armel-orion5x/sata-modules deleted file mode 100644 index fad61939d..000000000 --- a/debian/installer/armel/modules/armel-orion5x/sata-modules +++ /dev/null @@ -1 +0,0 @@ -sata_mv diff --git a/debian/installer/armel/modules/armel-orion5x/scsi-core-modules b/debian/installer/armel/modules/armel-orion5x/scsi-core-modules deleted file mode 100644 index dd65d6614..000000000 --- a/debian/installer/armel/modules/armel-orion5x/scsi-core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/squashfs-modules b/debian/installer/armel/modules/armel-orion5x/squashfs-modules deleted file mode 100644 index 42d77887a..000000000 --- a/debian/installer/armel/modules/armel-orion5x/squashfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/udf-modules b/debian/installer/armel/modules/armel-orion5x/udf-modules deleted file mode 100644 index b90d7ee9b..000000000 --- a/debian/installer/armel/modules/armel-orion5x/udf-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/usb-modules b/debian/installer/armel/modules/armel-orion5x/usb-modules deleted file mode 100644 index c598dedd8..000000000 --- a/debian/installer/armel/modules/armel-orion5x/usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/usb-serial-modules b/debian/installer/armel/modules/armel-orion5x/usb-serial-modules deleted file mode 100644 index c0a0dc3bd..000000000 --- a/debian/installer/armel/modules/armel-orion5x/usb-serial-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/armel/modules/armel-orion5x/usb-storage-modules b/debian/installer/armel/modules/armel-orion5x/usb-storage-modules deleted file mode 100644 index 8c5e81b55..000000000 --- a/debian/installer/armel/modules/armel-orion5x/usb-storage-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch b/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch new file mode 100644 index 000000000..e06be35ec --- /dev/null +++ b/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch @@ -0,0 +1,315 @@ +From: Arnd Bergmann +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 +Acked-by: Andrew Lunn +Signed-off-by: Gregory CLEMENT +[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 +- +- .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 + #include + #include ++#include + #include + #include + #include +@@ -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 +- +- .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 + #include + #include ++#include + #include + #include + #include +@@ -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 +- +- .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 + #include + #include +-#include + + 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 + #include + #include +-#include + #include + #include + diff --git a/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch b/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch new file mode 100644 index 000000000..ffd61af9f --- /dev/null +++ b/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch @@ -0,0 +1,132 @@ +From: Arnd Bergmann +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 +Acked-by: Andrew Lunn +Signed-off-by: Gregory CLEMENT +--- + 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 + #include + #include +-#include + #include + + /* 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, diff --git a/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch b/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch new file mode 100644 index 000000000..b175e41b8 --- /dev/null +++ b/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch @@ -0,0 +1,392 @@ +From: Arnd Bergmann +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 +Acked-by: Andrew Lunn +Signed-off-by: Gregory CLEMENT +--- + 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 ++ + /* + * 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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 ++ + /***************************************************************************** + * 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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .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 */ + .atag_offset = 0x100, ++ .nr_irqs = ORION5X_NR_IRQS, + .init_machine = wrt350n_v2_init, + .map_io = orion5x_map_io, + .init_early = orion5x_init_early, diff --git a/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch b/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch new file mode 100644 index 000000000..649578155 --- /dev/null +++ b/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch @@ -0,0 +1,1020 @@ +From: Arnd Bergmann +Date: Wed, 2 Dec 2015 22:27:08 +0100 +Subject: ARM: orion5x: clean up mach/*.h headers +Origin: https://git.kernel.org/linus/c22c2c6008d69ff2632f8a69c62782468c2bb5a0 + +This is a simple move of all header files that are no longer +included by anything else from the include/mach directory +to the platform directory itself as preparation for +multiplatform support. + +The mach/uncompress.h headers are left in place for now, +and are mildly modified to be independent of the other +headers. They will be removed entirely when ARCH_MULTIPLATFORM +gets enabled and they become obsolete. + +Rather than updating the path names inside of the comments +of each header, I delete those comments to avoid having to +update them again, should they get moved or copied another +time. + +Signed-off-by: Arnd Bergmann +Acked-by: Andrew Lunn +Signed-off-by: Gregory CLEMENT +--- + arch/arm/mach-orion5x/board-d2net.c | 2 +- + arch/arm/mach-orion5x/board-dt.c | 4 +- + arch/arm/mach-orion5x/board-mss2.c | 4 +- + arch/arm/mach-orion5x/board-rd88f5182.c | 2 +- + arch/arm/mach-orion5x/bridge-regs.h | 35 ++++++ + arch/arm/mach-orion5x/common.c | 6 +- + arch/arm/mach-orion5x/db88f5281-setup.c | 2 +- + arch/arm/mach-orion5x/dns323-setup.c | 2 +- + arch/arm/mach-orion5x/include/mach/bridge-regs.h | 37 ------ + arch/arm/mach-orion5x/include/mach/hardware.h | 14 --- + arch/arm/mach-orion5x/include/mach/irqs.h | 60 --------- + arch/arm/mach-orion5x/include/mach/orion5x.h | 148 ----------------------- + arch/arm/mach-orion5x/include/mach/uncompress.h | 4 +- + arch/arm/mach-orion5x/irq.c | 2 +- + arch/arm/mach-orion5x/irqs.h | 58 +++++++++ + arch/arm/mach-orion5x/kurobox_pro-setup.c | 2 +- + arch/arm/mach-orion5x/ls-chl-setup.c | 2 +- + arch/arm/mach-orion5x/ls_hgl-setup.c | 2 +- + arch/arm/mach-orion5x/mpp.c | 2 +- + arch/arm/mach-orion5x/mv2120-setup.c | 2 +- + arch/arm/mach-orion5x/net2big-setup.c | 2 +- + arch/arm/mach-orion5x/orion5x.h | 146 ++++++++++++++++++++++ + arch/arm/mach-orion5x/pci.c | 2 +- + arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 2 +- + arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 2 +- + arch/arm/mach-orion5x/rd88f5182-setup.c | 2 +- + arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 2 +- + arch/arm/mach-orion5x/terastation_pro2-setup.c | 2 +- + arch/arm/mach-orion5x/ts209-setup.c | 2 +- + arch/arm/mach-orion5x/ts409-setup.c | 2 +- + arch/arm/mach-orion5x/ts78xx-setup.c | 2 +- + arch/arm/mach-orion5x/tsx09-common.c | 2 +- + arch/arm/mach-orion5x/wnr854t-setup.c | 2 +- + arch/arm/mach-orion5x/wrt350n-v2-setup.c | 2 +- + 34 files changed, 270 insertions(+), 292 deletions(-) + create mode 100644 arch/arm/mach-orion5x/bridge-regs.h + delete mode 100644 arch/arm/mach-orion5x/include/mach/bridge-regs.h + delete mode 100644 arch/arm/mach-orion5x/include/mach/hardware.h + delete mode 100644 arch/arm/mach-orion5x/include/mach/irqs.h + delete mode 100644 arch/arm/mach-orion5x/include/mach/orion5x.h + create mode 100644 arch/arm/mach-orion5x/irqs.h + create mode 100644 arch/arm/mach-orion5x/orion5x.h + +diff --git a/arch/arm/mach-orion5x/board-d2net.c b/arch/arm/mach-orion5x/board-d2net.c +index 8a72841..a89376a 100644 +--- a/arch/arm/mach-orion5x/board-d2net.c ++++ b/arch/arm/mach-orion5x/board-d2net.c +@@ -20,9 +20,9 @@ + #include + #include + #include +-#include + #include + #include "common.h" ++#include "orion5x.h" + + /***************************************************************************** + * LaCie d2 Network Info +diff --git a/arch/arm/mach-orion5x/board-dt.c b/arch/arm/mach-orion5x/board-dt.c +index d087178..6f4c2c4 100644 +--- a/arch/arm/mach-orion5x/board-dt.c ++++ b/arch/arm/mach-orion5x/board-dt.c +@@ -20,10 +20,10 @@ + #include + #include + #include +-#include +-#include + #include + #include ++#include "orion5x.h" ++#include "bridge-regs.h" + #include "common.h" + + static struct of_dev_auxdata orion5x_auxdata_lookup[] __initdata = { +diff --git a/arch/arm/mach-orion5x/board-mss2.c b/arch/arm/mach-orion5x/board-mss2.c +index 66f9c3b..79202fd 100644 +--- a/arch/arm/mach-orion5x/board-mss2.c ++++ b/arch/arm/mach-orion5x/board-mss2.c +@@ -17,8 +17,8 @@ + #include + #include + #include +-#include +-#include ++#include "orion5x.h" ++#include "bridge-regs.h" + #include "common.h" + + /***************************************************************************** +diff --git a/arch/arm/mach-orion5x/board-rd88f5182.c b/arch/arm/mach-orion5x/board-rd88f5182.c +index 270824b..b7b0f52 100644 +--- a/arch/arm/mach-orion5x/board-rd88f5182.c ++++ b/arch/arm/mach-orion5x/board-rd88f5182.c +@@ -18,8 +18,8 @@ + #include + #include + #include +-#include + #include "common.h" ++#include "orion5x.h" + + /***************************************************************************** + * RD-88F5182 Info +diff --git a/arch/arm/mach-orion5x/bridge-regs.h b/arch/arm/mach-orion5x/bridge-regs.h +new file mode 100644 +index 0000000..305598e +--- /dev/null ++++ b/arch/arm/mach-orion5x/bridge-regs.h +@@ -0,0 +1,35 @@ ++/* ++ * Orion CPU Bridge Registers ++ * ++ * 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. ++ */ ++ ++#ifndef __ASM_ARCH_BRIDGE_REGS_H ++#define __ASM_ARCH_BRIDGE_REGS_H ++ ++#include "orion5x.h" ++ ++#define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE + 0x100) ++ ++#define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE + 0x104) ++ ++#define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x108) ++#define RSTOUTn_MASK_PHYS (ORION5X_BRIDGE_PHYS_BASE + 0x108) ++ ++#define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE + 0x10c) ++ ++#define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x110) ++ ++#define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE + 0x11C) ++ ++#define BRIDGE_INT_TIMER1_CLR (~0x0004) ++ ++#define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x200) ++ ++#define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x204) ++ ++#define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE + 0x300) ++#define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE + 0x300) ++#endif +diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c +index 2b7889e..70c3366 100644 +--- a/arch/arm/mach-orion5x/common.c ++++ b/arch/arm/mach-orion5x/common.c +@@ -27,14 +27,14 @@ + #include + #include + #include +-#include +-#include +-#include + #include + #include + #include + #include ++ ++#include "bridge-regs.h" + #include "common.h" ++#include "orion5x.h" + + /***************************************************************************** + * I/O Address Mapping +diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c +index 698528f..12f74b4 100644 +--- a/arch/arm/mach-orion5x/db88f5281-setup.c ++++ b/arch/arm/mach-orion5x/db88f5281-setup.c +@@ -23,10 +23,10 @@ + #include + #include + #include +-#include + #include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * DB-88F5281 on board devices +diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c +index 96a8c50..cd483bf 100644 +--- a/arch/arm/mach-orion5x/dns323-setup.c ++++ b/arch/arm/mach-orion5x/dns323-setup.c +@@ -33,8 +33,8 @@ + #include + #include + #include +-#include + #include ++#include "orion5x.h" + #include "common.h" + #include "mpp.h" + +diff --git a/arch/arm/mach-orion5x/include/mach/bridge-regs.h b/arch/arm/mach-orion5x/include/mach/bridge-regs.h +deleted file mode 100644 +index 5766e3f..0000000 +--- a/arch/arm/mach-orion5x/include/mach/bridge-regs.h ++++ /dev/null +@@ -1,37 +0,0 @@ +-/* +- * arch/arm/mach-orion5x/include/mach/bridge-regs.h +- * +- * Orion CPU Bridge Registers +- * +- * 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. +- */ +- +-#ifndef __ASM_ARCH_BRIDGE_REGS_H +-#define __ASM_ARCH_BRIDGE_REGS_H +- +-#include +- +-#define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE + 0x100) +- +-#define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE + 0x104) +- +-#define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x108) +-#define RSTOUTn_MASK_PHYS (ORION5X_BRIDGE_PHYS_BASE + 0x108) +- +-#define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE + 0x10c) +- +-#define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x110) +- +-#define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE + 0x11C) +- +-#define BRIDGE_INT_TIMER1_CLR (~0x0004) +- +-#define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x200) +- +-#define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x204) +- +-#define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE + 0x300) +-#define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE + 0x300) +-#endif +diff --git a/arch/arm/mach-orion5x/include/mach/hardware.h b/arch/arm/mach-orion5x/include/mach/hardware.h +deleted file mode 100644 +index 3957354..0000000 +--- a/arch/arm/mach-orion5x/include/mach/hardware.h ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* +- * arch/arm/mach-orion5x/include/mach/hardware.h +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License version 2 as +- * published by the Free Software Foundation. +- */ +- +-#ifndef __ASM_ARCH_HARDWARE_H +-#define __ASM_ARCH_HARDWARE_H +- +-#include "orion5x.h" +- +-#endif +diff --git a/arch/arm/mach-orion5x/include/mach/irqs.h b/arch/arm/mach-orion5x/include/mach/irqs.h +deleted file mode 100644 +index 4b8703c..0000000 +--- a/arch/arm/mach-orion5x/include/mach/irqs.h ++++ /dev/null +@@ -1,60 +0,0 @@ +-/* +- * arch/arm/mach-orion5x/include/mach/irqs.h +- * +- * IRQ definitions for Orion SoC +- * +- * Maintainer: Tzachi Perelstein +- * +- * 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. +- */ +- +-#ifndef __ASM_ARCH_IRQS_H +-#define __ASM_ARCH_IRQS_H +- +-/* +- * Orion Main Interrupt Controller +- */ +-#define IRQ_ORION5X_BRIDGE (1 + 0) +-#define IRQ_ORION5X_DOORBELL_H2C (1 + 1) +-#define IRQ_ORION5X_DOORBELL_C2H (1 + 2) +-#define IRQ_ORION5X_UART0 (1 + 3) +-#define IRQ_ORION5X_UART1 (1 + 4) +-#define IRQ_ORION5X_I2C (1 + 5) +-#define IRQ_ORION5X_GPIO_0_7 (1 + 6) +-#define IRQ_ORION5X_GPIO_8_15 (1 + 7) +-#define IRQ_ORION5X_GPIO_16_23 (1 + 8) +-#define IRQ_ORION5X_GPIO_24_31 (1 + 9) +-#define IRQ_ORION5X_PCIE0_ERR (1 + 10) +-#define IRQ_ORION5X_PCIE0_INT (1 + 11) +-#define IRQ_ORION5X_USB1_CTRL (1 + 12) +-#define IRQ_ORION5X_DEV_BUS_ERR (1 + 14) +-#define IRQ_ORION5X_PCI_ERR (1 + 15) +-#define IRQ_ORION5X_USB_BR_ERR (1 + 16) +-#define IRQ_ORION5X_USB0_CTRL (1 + 17) +-#define IRQ_ORION5X_ETH_RX (1 + 18) +-#define IRQ_ORION5X_ETH_TX (1 + 19) +-#define IRQ_ORION5X_ETH_MISC (1 + 20) +-#define IRQ_ORION5X_ETH_SUM (1 + 21) +-#define IRQ_ORION5X_ETH_ERR (1 + 22) +-#define IRQ_ORION5X_IDMA_ERR (1 + 23) +-#define IRQ_ORION5X_IDMA_0 (1 + 24) +-#define IRQ_ORION5X_IDMA_1 (1 + 25) +-#define IRQ_ORION5X_IDMA_2 (1 + 26) +-#define IRQ_ORION5X_IDMA_3 (1 + 27) +-#define IRQ_ORION5X_CESA (1 + 28) +-#define IRQ_ORION5X_SATA (1 + 29) +-#define IRQ_ORION5X_XOR0 (1 + 30) +-#define IRQ_ORION5X_XOR1 (1 + 31) +- +-/* +- * Orion General Purpose Pins +- */ +-#define IRQ_ORION5X_GPIO_START 33 +-#define NR_GPIO_IRQS 32 +- +-#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS) +- +- +-#endif +diff --git a/arch/arm/mach-orion5x/include/mach/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h +deleted file mode 100644 +index 7be7c2e..0000000 +--- a/arch/arm/mach-orion5x/include/mach/orion5x.h ++++ /dev/null +@@ -1,148 +0,0 @@ +-/* +- * arch/arm/mach-orion5x/include/mach/orion5x.h +- * +- * Generic definitions of Orion SoC flavors: +- * Orion-1, Orion-VoIP, Orion-NAS, Orion-2, and Orion-1-90. +- * +- * Maintainer: Tzachi Perelstein +- * +- * 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. +- */ +- +-#ifndef __ASM_ARCH_ORION5X_H +-#define __ASM_ARCH_ORION5X_H +- +-#include +- +-/***************************************************************************** +- * Orion Address Maps +- * +- * phys +- * e0000000 PCIe MEM space +- * e8000000 PCI MEM space +- * f0000000 PCIe WA space (Orion-1/Orion-NAS only) +- * f1000000 on-chip peripheral registers +- * f2000000 PCIe I/O space +- * f2100000 PCI I/O space +- * f2200000 SRAM dedicated for the crypto unit +- * f4000000 device bus mappings (boot) +- * fa000000 device bus mappings (cs0) +- * fa800000 device bus mappings (cs2) +- * fc000000 device bus mappings (cs0/cs1) +- * +- * virt phys size +- * fe000000 f1000000 1M on-chip peripheral registers +- * fee00000 f2000000 64K PCIe I/O space +- * fee10000 f2100000 64K PCI I/O space +- * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only) +- ****************************************************************************/ +-#define ORION5X_REGS_PHYS_BASE 0xf1000000 +-#define ORION5X_REGS_VIRT_BASE IOMEM(0xfe000000) +-#define ORION5X_REGS_SIZE SZ_1M +- +-#define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000 +-#define ORION5X_PCIE_IO_BUS_BASE 0x00000000 +-#define ORION5X_PCIE_IO_SIZE SZ_64K +- +-#define ORION5X_PCI_IO_PHYS_BASE 0xf2100000 +-#define ORION5X_PCI_IO_BUS_BASE 0x00010000 +-#define ORION5X_PCI_IO_SIZE SZ_64K +- +-#define ORION5X_SRAM_PHYS_BASE (0xf2200000) +-#define ORION5X_SRAM_SIZE SZ_8K +- +-/* Relevant only for Orion-1/Orion-NAS */ +-#define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000 +-#define ORION5X_PCIE_WA_VIRT_BASE IOMEM(0xfd000000) +-#define ORION5X_PCIE_WA_SIZE SZ_16M +- +-#define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000 +-#define ORION5X_PCIE_MEM_SIZE SZ_128M +- +-#define ORION5X_PCI_MEM_PHYS_BASE 0xe8000000 +-#define ORION5X_PCI_MEM_SIZE SZ_128M +- +-/******************************************************************************* +- * Orion Registers Map +- ******************************************************************************/ +- +-#define ORION5X_DDR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x00000) +-#define ORION5X_DDR_WINS_BASE (ORION5X_DDR_PHYS_BASE + 0x1500) +-#define ORION5X_DDR_WINS_SZ (0x10) +-#define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x00000) +-#define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x10000) +-#define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x10000) +-#define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE + (x)) +-#define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100) +-#define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x0600) +-#define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x1000) +-#define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2000) +-#define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2000) +-#define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2100) +-#define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2100) +- +-#define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x20000) +-#define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x20000) +-#define ORION5X_BRIDGE_WINS_BASE (ORION5X_BRIDGE_PHYS_BASE) +-#define ORION5X_BRIDGE_WINS_SZ (0x80) +- +-#define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x30000) +- +-#define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x40000) +- +-#define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x50000) +-#define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x50000) +- +-#define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x60900) +-#define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x60900) +- +-#define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x70000) +-#define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x70000) +- +-#define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x80000) +-#define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x80000) +- +-#define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x90000) +- +-#define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0xa0000) +-#define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0xa0000) +- +-/******************************************************************************* +- * Device Bus Registers +- ******************************************************************************/ +-#define MPP_0_7_CTRL ORION5X_DEV_BUS_REG(0x000) +-#define MPP_8_15_CTRL ORION5X_DEV_BUS_REG(0x004) +-#define MPP_16_19_CTRL ORION5X_DEV_BUS_REG(0x050) +-#define MPP_DEV_CTRL ORION5X_DEV_BUS_REG(0x008) +-#define MPP_RESET_SAMPLE ORION5X_DEV_BUS_REG(0x010) +-#define DEV_BANK_0_PARAM ORION5X_DEV_BUS_REG(0x45c) +-#define DEV_BANK_1_PARAM ORION5X_DEV_BUS_REG(0x460) +-#define DEV_BANK_2_PARAM ORION5X_DEV_BUS_REG(0x464) +-#define DEV_BANK_BOOT_PARAM ORION5X_DEV_BUS_REG(0x46c) +-#define DEV_BUS_CTRL ORION5X_DEV_BUS_REG(0x4c0) +-#define DEV_BUS_INT_CAUSE ORION5X_DEV_BUS_REG(0x4d0) +-#define DEV_BUS_INT_MASK ORION5X_DEV_BUS_REG(0x4d4) +- +-/******************************************************************************* +- * Supported Devices & Revisions +- ******************************************************************************/ +-/* Orion-1 (88F5181) and Orion-VoIP (88F5181L) */ +-#define MV88F5181_DEV_ID 0x5181 +-#define MV88F5181_REV_B1 3 +-#define MV88F5181L_REV_A0 8 +-#define MV88F5181L_REV_A1 9 +-/* Orion-NAS (88F5182) */ +-#define MV88F5182_DEV_ID 0x5182 +-#define MV88F5182_REV_A2 2 +-/* Orion-2 (88F5281) */ +-#define MV88F5281_DEV_ID 0x5281 +-#define MV88F5281_REV_D0 4 +-#define MV88F5281_REV_D1 5 +-#define MV88F5281_REV_D2 6 +-/* Orion-1-90 (88F6183) */ +-#define MV88F6183_DEV_ID 0x6183 +-#define MV88F6183_REV_B0 3 +- +-#endif +diff --git a/arch/arm/mach-orion5x/include/mach/uncompress.h b/arch/arm/mach-orion5x/include/mach/uncompress.h +index abd26b5..25e5cb9 100644 +--- a/arch/arm/mach-orion5x/include/mach/uncompress.h ++++ b/arch/arm/mach-orion5x/include/mach/uncompress.h +@@ -1,6 +1,4 @@ + /* +- * arch/arm/mach-orion5x/include/mach/uncompress.h +- * + * Tzachi Perelstein + * + * This file is licensed under the terms of the GNU General Public +@@ -9,8 +7,8 @@ + */ + + #include +-#include + ++#define UART0_PHYS_BASE (0xf1000000 + 0x12000) + #define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE) + + static void putc(const char c) +diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c +index 8678db1..de980ef 100644 +--- a/arch/arm/mach-orion5x/irq.c ++++ b/arch/arm/mach-orion5x/irq.c +@@ -13,10 +13,10 @@ + #include + #include + #include +-#include + #include + #include + #include ++#include "bridge-regs.h" + #include "common.h" + + static int __initdata gpio0_irqs[4] = { +diff --git a/arch/arm/mach-orion5x/irqs.h b/arch/arm/mach-orion5x/irqs.h +new file mode 100644 +index 0000000..506c8e0 +--- /dev/null ++++ b/arch/arm/mach-orion5x/irqs.h +@@ -0,0 +1,58 @@ ++/* ++ * IRQ definitions for Orion SoC ++ * ++ * Maintainer: Tzachi Perelstein ++ * ++ * 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. ++ */ ++ ++#ifndef __ASM_ARCH_IRQS_H ++#define __ASM_ARCH_IRQS_H ++ ++/* ++ * Orion Main Interrupt Controller ++ */ ++#define IRQ_ORION5X_BRIDGE (1 + 0) ++#define IRQ_ORION5X_DOORBELL_H2C (1 + 1) ++#define IRQ_ORION5X_DOORBELL_C2H (1 + 2) ++#define IRQ_ORION5X_UART0 (1 + 3) ++#define IRQ_ORION5X_UART1 (1 + 4) ++#define IRQ_ORION5X_I2C (1 + 5) ++#define IRQ_ORION5X_GPIO_0_7 (1 + 6) ++#define IRQ_ORION5X_GPIO_8_15 (1 + 7) ++#define IRQ_ORION5X_GPIO_16_23 (1 + 8) ++#define IRQ_ORION5X_GPIO_24_31 (1 + 9) ++#define IRQ_ORION5X_PCIE0_ERR (1 + 10) ++#define IRQ_ORION5X_PCIE0_INT (1 + 11) ++#define IRQ_ORION5X_USB1_CTRL (1 + 12) ++#define IRQ_ORION5X_DEV_BUS_ERR (1 + 14) ++#define IRQ_ORION5X_PCI_ERR (1 + 15) ++#define IRQ_ORION5X_USB_BR_ERR (1 + 16) ++#define IRQ_ORION5X_USB0_CTRL (1 + 17) ++#define IRQ_ORION5X_ETH_RX (1 + 18) ++#define IRQ_ORION5X_ETH_TX (1 + 19) ++#define IRQ_ORION5X_ETH_MISC (1 + 20) ++#define IRQ_ORION5X_ETH_SUM (1 + 21) ++#define IRQ_ORION5X_ETH_ERR (1 + 22) ++#define IRQ_ORION5X_IDMA_ERR (1 + 23) ++#define IRQ_ORION5X_IDMA_0 (1 + 24) ++#define IRQ_ORION5X_IDMA_1 (1 + 25) ++#define IRQ_ORION5X_IDMA_2 (1 + 26) ++#define IRQ_ORION5X_IDMA_3 (1 + 27) ++#define IRQ_ORION5X_CESA (1 + 28) ++#define IRQ_ORION5X_SATA (1 + 29) ++#define IRQ_ORION5X_XOR0 (1 + 30) ++#define IRQ_ORION5X_XOR1 (1 + 31) ++ ++/* ++ * Orion General Purpose Pins ++ */ ++#define IRQ_ORION5X_GPIO_START 33 ++#define NR_GPIO_IRQS 32 ++ ++#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS) ++ ++ ++#endif +diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c +index b1ebb37..9dc3f59 100644 +--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c ++++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c +@@ -23,10 +23,10 @@ + #include + #include + #include +-#include + #include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * KUROBOX-PRO Info +diff --git a/arch/arm/mach-orion5x/ls-chl-setup.c b/arch/arm/mach-orion5x/ls-chl-setup.c +index cb8720e..dfdaa8a 100644 +--- a/arch/arm/mach-orion5x/ls-chl-setup.c ++++ b/arch/arm/mach-orion5x/ls-chl-setup.c +@@ -22,9 +22,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * Linkstation LS-CHL Info +diff --git a/arch/arm/mach-orion5x/ls_hgl-setup.c b/arch/arm/mach-orion5x/ls_hgl-setup.c +index 0ddfa23..47ba6e0 100644 +--- a/arch/arm/mach-orion5x/ls_hgl-setup.c ++++ b/arch/arm/mach-orion5x/ls_hgl-setup.c +@@ -21,9 +21,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * Linkstation LS-HGL Info +diff --git a/arch/arm/mach-orion5x/mpp.c b/arch/arm/mach-orion5x/mpp.c +index 5b70026..19ef185 100644 +--- a/arch/arm/mach-orion5x/mpp.c ++++ b/arch/arm/mach-orion5x/mpp.c +@@ -11,8 +11,8 @@ + #include + #include + #include +-#include + #include ++#include "orion5x.h" + #include "mpp.h" + #include "common.h" + +diff --git a/arch/arm/mach-orion5x/mv2120-setup.c b/arch/arm/mach-orion5x/mv2120-setup.c +index 11985dc..2bf8ec7 100644 +--- a/arch/arm/mach-orion5x/mv2120-setup.c ++++ b/arch/arm/mach-orion5x/mv2120-setup.c +@@ -21,9 +21,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + #define MV2120_NOR_BOOT_BASE 0xf4000000 + #define MV2120_NOR_BOOT_SIZE SZ_512K +diff --git a/arch/arm/mach-orion5x/net2big-setup.c b/arch/arm/mach-orion5x/net2big-setup.c +index e91abcc..bf6be4c 100644 +--- a/arch/arm/mach-orion5x/net2big-setup.c ++++ b/arch/arm/mach-orion5x/net2big-setup.c +@@ -24,10 +24,10 @@ + #include + #include + #include +-#include + #include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * LaCie 2Big Network Info +diff --git a/arch/arm/mach-orion5x/orion5x.h b/arch/arm/mach-orion5x/orion5x.h +new file mode 100644 +index 0000000..3364df3 +--- /dev/null ++++ b/arch/arm/mach-orion5x/orion5x.h +@@ -0,0 +1,146 @@ ++/* ++ * Generic definitions of Orion SoC flavors: ++ * Orion-1, Orion-VoIP, Orion-NAS, Orion-2, and Orion-1-90. ++ * ++ * Maintainer: Tzachi Perelstein ++ * ++ * 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. ++ */ ++ ++#ifndef __ASM_ARCH_ORION5X_H ++#define __ASM_ARCH_ORION5X_H ++ ++#include "irqs.h" ++ ++/***************************************************************************** ++ * Orion Address Maps ++ * ++ * phys ++ * e0000000 PCIe MEM space ++ * e8000000 PCI MEM space ++ * f0000000 PCIe WA space (Orion-1/Orion-NAS only) ++ * f1000000 on-chip peripheral registers ++ * f2000000 PCIe I/O space ++ * f2100000 PCI I/O space ++ * f2200000 SRAM dedicated for the crypto unit ++ * f4000000 device bus mappings (boot) ++ * fa000000 device bus mappings (cs0) ++ * fa800000 device bus mappings (cs2) ++ * fc000000 device bus mappings (cs0/cs1) ++ * ++ * virt phys size ++ * fe000000 f1000000 1M on-chip peripheral registers ++ * fee00000 f2000000 64K PCIe I/O space ++ * fee10000 f2100000 64K PCI I/O space ++ * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only) ++ ****************************************************************************/ ++#define ORION5X_REGS_PHYS_BASE 0xf1000000 ++#define ORION5X_REGS_VIRT_BASE IOMEM(0xfe000000) ++#define ORION5X_REGS_SIZE SZ_1M ++ ++#define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000 ++#define ORION5X_PCIE_IO_BUS_BASE 0x00000000 ++#define ORION5X_PCIE_IO_SIZE SZ_64K ++ ++#define ORION5X_PCI_IO_PHYS_BASE 0xf2100000 ++#define ORION5X_PCI_IO_BUS_BASE 0x00010000 ++#define ORION5X_PCI_IO_SIZE SZ_64K ++ ++#define ORION5X_SRAM_PHYS_BASE (0xf2200000) ++#define ORION5X_SRAM_SIZE SZ_8K ++ ++/* Relevant only for Orion-1/Orion-NAS */ ++#define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000 ++#define ORION5X_PCIE_WA_VIRT_BASE IOMEM(0xfd000000) ++#define ORION5X_PCIE_WA_SIZE SZ_16M ++ ++#define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000 ++#define ORION5X_PCIE_MEM_SIZE SZ_128M ++ ++#define ORION5X_PCI_MEM_PHYS_BASE 0xe8000000 ++#define ORION5X_PCI_MEM_SIZE SZ_128M ++ ++/******************************************************************************* ++ * Orion Registers Map ++ ******************************************************************************/ ++ ++#define ORION5X_DDR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x00000) ++#define ORION5X_DDR_WINS_BASE (ORION5X_DDR_PHYS_BASE + 0x1500) ++#define ORION5X_DDR_WINS_SZ (0x10) ++#define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x00000) ++#define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x10000) ++#define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x10000) ++#define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE + (x)) ++#define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100) ++#define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x0600) ++#define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x1000) ++#define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2000) ++#define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2000) ++#define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2100) ++#define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2100) ++ ++#define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x20000) ++#define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x20000) ++#define ORION5X_BRIDGE_WINS_BASE (ORION5X_BRIDGE_PHYS_BASE) ++#define ORION5X_BRIDGE_WINS_SZ (0x80) ++ ++#define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x30000) ++ ++#define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x40000) ++ ++#define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x50000) ++#define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x50000) ++ ++#define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x60900) ++#define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x60900) ++ ++#define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x70000) ++#define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x70000) ++ ++#define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x80000) ++#define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x80000) ++ ++#define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x90000) ++ ++#define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0xa0000) ++#define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0xa0000) ++ ++/******************************************************************************* ++ * Device Bus Registers ++ ******************************************************************************/ ++#define MPP_0_7_CTRL ORION5X_DEV_BUS_REG(0x000) ++#define MPP_8_15_CTRL ORION5X_DEV_BUS_REG(0x004) ++#define MPP_16_19_CTRL ORION5X_DEV_BUS_REG(0x050) ++#define MPP_DEV_CTRL ORION5X_DEV_BUS_REG(0x008) ++#define MPP_RESET_SAMPLE ORION5X_DEV_BUS_REG(0x010) ++#define DEV_BANK_0_PARAM ORION5X_DEV_BUS_REG(0x45c) ++#define DEV_BANK_1_PARAM ORION5X_DEV_BUS_REG(0x460) ++#define DEV_BANK_2_PARAM ORION5X_DEV_BUS_REG(0x464) ++#define DEV_BANK_BOOT_PARAM ORION5X_DEV_BUS_REG(0x46c) ++#define DEV_BUS_CTRL ORION5X_DEV_BUS_REG(0x4c0) ++#define DEV_BUS_INT_CAUSE ORION5X_DEV_BUS_REG(0x4d0) ++#define DEV_BUS_INT_MASK ORION5X_DEV_BUS_REG(0x4d4) ++ ++/******************************************************************************* ++ * Supported Devices & Revisions ++ ******************************************************************************/ ++/* Orion-1 (88F5181) and Orion-VoIP (88F5181L) */ ++#define MV88F5181_DEV_ID 0x5181 ++#define MV88F5181_REV_B1 3 ++#define MV88F5181L_REV_A0 8 ++#define MV88F5181L_REV_A1 9 ++/* Orion-NAS (88F5182) */ ++#define MV88F5182_DEV_ID 0x5182 ++#define MV88F5182_REV_A2 2 ++/* Orion-2 (88F5281) */ ++#define MV88F5281_DEV_ID 0x5281 ++#define MV88F5281_REV_D0 4 ++#define MV88F5281_REV_D1 5 ++#define MV88F5281_REV_D2 6 ++/* Orion-1-90 (88F6183) */ ++#define MV88F6183_DEV_ID 0x6183 ++#define MV88F6183_REV_B0 3 ++ ++#endif +diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c +index b02f394..ecb998e 100644 +--- a/arch/arm/mach-orion5x/pci.c ++++ b/arch/arm/mach-orion5x/pci.c +@@ -19,8 +19,8 @@ + #include + #include + #include +-#include + #include "common.h" ++#include "orion5x.h" + + /***************************************************************************** + * Orion has one PCIe controller and one PCI controller. +diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +index 69a6e5b..c742e7b 100644 +--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c ++++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +@@ -20,9 +20,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * RD-88F5181L FXO Info +diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +index e19f8b7..7e977b7 100644 +--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c ++++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +@@ -21,9 +21,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * RD-88F5181L GE Info +diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c +index 180a4f9..fe3e67c 100644 +--- a/arch/arm/mach-orion5x/rd88f5182-setup.c ++++ b/arch/arm/mach-orion5x/rd88f5182-setup.c +@@ -23,9 +23,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * RD-88F5182 Info +diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +index cc5bdbe..4bf80dd 100644 +--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c ++++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +@@ -22,8 +22,8 @@ + #include + #include + #include +-#include + #include "common.h" ++#include "orion5x.h" + + static struct mv643xx_eth_platform_data rd88f6183ap_ge_eth_data = { + .phy_addr = -1, +diff --git a/arch/arm/mach-orion5x/terastation_pro2-setup.c b/arch/arm/mach-orion5x/terastation_pro2-setup.c +index ad20575..deb5e29 100644 +--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c ++++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c +@@ -22,9 +22,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + + /***************************************************************************** + * Terastation Pro 2/Live Info +diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c +index 1cfc364..7bd671b 100644 +--- a/arch/arm/mach-orion5x/ts209-setup.c ++++ b/arch/arm/mach-orion5x/ts209-setup.c +@@ -25,9 +25,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + #include "tsx09-common.h" + + #define QNAP_TS209_NOR_BOOT_BASE 0xf4000000 +diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c +index bc985cf..a77613b 100644 +--- a/arch/arm/mach-orion5x/ts409-setup.c ++++ b/arch/arm/mach-orion5x/ts409-setup.c +@@ -27,9 +27,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + #include "tsx09-common.h" + + /***************************************************************************** +diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c +index 5a61a66..b67ace4 100644 +--- a/arch/arm/mach-orion5x/ts78xx-setup.c ++++ b/arch/arm/mach-orion5x/ts78xx-setup.c +@@ -23,9 +23,9 @@ + #include + #include + #include +-#include + #include "common.h" + #include "mpp.h" ++#include "orion5x.h" + #include "ts78xx-fpga.h" + + /***************************************************************************** +diff --git a/arch/arm/mach-orion5x/tsx09-common.c b/arch/arm/mach-orion5x/tsx09-common.c +index d42e006..8977498 100644 +--- a/arch/arm/mach-orion5x/tsx09-common.c ++++ b/arch/arm/mach-orion5x/tsx09-common.c +@@ -15,7 +15,7 @@ + #include + #include + #include +-#include ++#include "orion5x.h" + #include "tsx09-common.h" + #include "common.h" + +diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c +index bcc6e12..4e1e5c8 100644 +--- a/arch/arm/mach-orion5x/wnr854t-setup.c ++++ b/arch/arm/mach-orion5x/wnr854t-setup.c +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include ++#include "orion5x.h" + #include "common.h" + #include "mpp.h" + +diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c +index 4068d7a..61e9027 100644 +--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c ++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include ++#include "orion5x.h" + #include "common.h" + #include "mpp.h" + diff --git a/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch b/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch new file mode 100644 index 000000000..a0bde91c9 --- /dev/null +++ b/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch @@ -0,0 +1,147 @@ +From: Arnd Bergmann +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 +Acked-by: Andrew Lunn +Signed-off-by: Gregory CLEMENT +--- + 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 +- * +- * 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 +- +-#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() diff --git a/debian/patches/series b/debian/patches/series index 892960907..d6a5a28f4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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