Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b70a6b27 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (33 commits)
  MIPS: lemote/lm2e: Added io_map_base to pci controller
  MIPS: TXx9: Make firmware parameter passing more robust
  MIPS: Markeins: Remove unnecessary define and cleanup comments, etc.
  MIPS: Markeins: Extract ll_emma2rh_* functions
  MIPS: Markeins: Remove runtime debug prints
  MIPS: EMMA: Fold arch/mips/emma/{common,markeins}/irq*.c into markeins/irq.c
  MIPS: EMMA2RH: Remove emma2rh_gpio_irq_base
  MIPS: EMMA2RH: Remove emma2rh_sw_irq_base
  MIPS: EMMA2RH: Remove emma2rh_irq_base global variable
  MIPS: EMMA2RH: Remove emma2rh_sync on read operation
  MIPS: EMMA: Move <asm/emma2rh> to <asm/emma> dir
  MIPS: EMMA: Move arch/mips/emma2rh/ into arch/mips/emma/
  MIPS: EMMA: Kconfig reorganization
  MIPS: Add CONFIG_CPU_R5500 for NEC VR5500 series processors
  MIPS: RB532: Disable the right device
  MIPS: Add support for NXP PNX833x (STB222/5) into linux kernel
  MIPS: TXx9: CONFIG_TOSHIBA_RBTX4939 spelling
  MIPS: Fix KGDB build error
  INPUT: sgi_btns: Add license specification
  MIPS: IP22: ip22-int.c header file weeding.
  ...
parents 1d63e726 3a63913f
Loading
Loading
Loading
Loading
+47 −15
Original line number Original line Diff line number Diff line
@@ -238,21 +238,8 @@ config MIPS_SIM
	  This option enables support for MIPS Technologies MIPSsim software
	  This option enables support for MIPS Technologies MIPSsim software
	  emulator.
	  emulator.


config MARKEINS
config MACH_EMMA
	bool "NEC EMMA2RH Mark-eins"
	bool "NEC EMMA series based machines"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_CPU_R5000
	help
	  This enables support for the R5432-based NEC Mark-eins
	  boards with R5500 CPU.


config MACH_VR41XX
config MACH_VR41XX
	bool "NEC VR4100 series based machines"
	bool "NEC VR4100 series based machines"
@@ -261,6 +248,19 @@ config MACH_VR41XX
	select SYS_HAS_CPU_VR41XX
	select SYS_HAS_CPU_VR41XX
	select GENERIC_HARDIRQS_NO__DO_IRQ
	select GENERIC_HARDIRQS_NO__DO_IRQ


config NXP_STB220
	bool "NXP STB220 board"
	select SOC_PNX833X
	help
	 Support for NXP Semiconductors STB220 Development Board.

config NXP_STB225
	bool "NXP 225 board"
	select SOC_PNX833X
	select SOC_PNX8335
	help
	 Support for NXP Semiconductors STB225 Development Board.

config PNX8550_JBS
config PNX8550_JBS
	bool "NXP PNX8550 based JBS board"
	bool "NXP PNX8550 based JBS board"
	select PNX8550
	select PNX8550
@@ -601,6 +601,7 @@ endchoice


source "arch/mips/alchemy/Kconfig"
source "arch/mips/alchemy/Kconfig"
source "arch/mips/basler/excite/Kconfig"
source "arch/mips/basler/excite/Kconfig"
source "arch/mips/emma/Kconfig"
source "arch/mips/jazz/Kconfig"
source "arch/mips/jazz/Kconfig"
source "arch/mips/lasat/Kconfig"
source "arch/mips/lasat/Kconfig"
source "arch/mips/pmc-sierra/Kconfig"
source "arch/mips/pmc-sierra/Kconfig"
@@ -849,6 +850,24 @@ config MIPS_RM9122
	bool
	bool
	select SERIAL_RM9000
	select SERIAL_RM9000


config SOC_PNX833X
	bool
	select CEVT_R4K
	select CSRC_R4K
	select IRQ_CPU
	select DMA_NONCOHERENT
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select GENERIC_HARDIRQS_NO__DO_IRQ
	select GENERIC_GPIO
	select CPU_MIPSR2_IRQ_VI

config SOC_PNX8335
	bool
	select SOC_PNX833X

config PNX8550
config PNX8550
	bool
	bool
	select SOC_PNX8550
	select SOC_PNX8550
@@ -1092,6 +1111,16 @@ config CPU_R5432
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL


config CPU_R5500
	bool "R5500"
	depends on SYS_HAS_CPU_R5500
	select CPU_HAS_LLSC
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
	  instruction set.

config CPU_R6000
config CPU_R6000
	bool "R6000"
	bool "R6000"
	depends on EXPERIMENTAL
	depends on EXPERIMENTAL
@@ -1202,6 +1231,9 @@ config SYS_HAS_CPU_R5000
config SYS_HAS_CPU_R5432
config SYS_HAS_CPU_R5432
	bool
	bool


config SYS_HAS_CPU_R5500
	bool

config SYS_HAS_CPU_R6000
config SYS_HAS_CPU_R6000
	bool
	bool


+18 −5
Original line number Original line Diff line number Diff line
@@ -131,6 +131,8 @@ cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips64r2 -U_
cflags-$(CONFIG_CPU_R5000)	+= -march=r5000 -Wa,--trap
cflags-$(CONFIG_CPU_R5000)	+= -march=r5000 -Wa,--trap
cflags-$(CONFIG_CPU_R5432)	+= $(call cc-option,-march=r5400,-march=r5000) \
cflags-$(CONFIG_CPU_R5432)	+= $(call cc-option,-march=r5400,-march=r5000) \
			-Wa,--trap
			-Wa,--trap
cflags-$(CONFIG_CPU_R5500)	+= $(call cc-option,-march=r5500,-march=r5000) \
			-Wa,--trap
cflags-$(CONFIG_CPU_NEVADA)	+= $(call cc-option,-march=rm5200,-march=r5000) \
cflags-$(CONFIG_CPU_NEVADA)	+= $(call cc-option,-march=rm5200,-march=r5000) \
			-Wa,--trap
			-Wa,--trap
cflags-$(CONFIG_CPU_RM7000)	+= $(call cc-option,-march=rm7000,-march=r5000) \
cflags-$(CONFIG_CPU_RM7000)	+= $(call cc-option,-march=rm7000,-march=r5000) \
@@ -381,6 +383,14 @@ load-$(CONFIG_CASIO_E55) += 0xffffffff80004000
#
#
load-$(CONFIG_TANBAC_TB022X)	+= 0xffffffff80000000
load-$(CONFIG_TANBAC_TB022X)	+= 0xffffffff80000000


# NXP STB225
core-$(CONFIG_SOC_PNX833X)		+= arch/mips/nxp/pnx833x/common/
cflags-$(CONFIG_SOC_PNX833X)	+= -Iarch/mips/include/asm/mach-pnx833x
libs-$(CONFIG_NXP_STB220)		+= arch/mips/nxp/pnx833x/stb22x/
load-$(CONFIG_NXP_STB220)		+= 0xffffffff80001000
libs-$(CONFIG_NXP_STB225)		+= arch/mips/nxp/pnx833x/stb22x/
load-$(CONFIG_NXP_STB225)		+= 0xffffffff80001000

#
#
# Common NXP PNX8550
# Common NXP PNX8550
#
#
@@ -399,14 +409,17 @@ load-$(CONFIG_PNX8550_JBS) += 0xffffffff80060000
libs-$(CONFIG_PNX8550_STB810)	+= arch/mips/nxp/pnx8550/stb810/
libs-$(CONFIG_PNX8550_STB810)	+= arch/mips/nxp/pnx8550/stb810/
load-$(CONFIG_PNX8550_STB810)	+= 0xffffffff80060000
load-$(CONFIG_PNX8550_STB810)	+= 0xffffffff80060000


# NEC EMMA2RH boards
#
#
core-$(CONFIG_EMMA2RH)          += arch/mips/emma2rh/common/
# Common NEC EMMAXXX
cflags-$(CONFIG_EMMA2RH)        += -I$(srctree)/arch/mips/include/asm/mach-emma2rh
#
core-$(CONFIG_SOC_EMMA)		+= arch/mips/emma/common/
cflags-$(CONFIG_SOC_EMMA2RH)	+= -I$(srctree)/arch/mips/include/asm/mach-emma2rh


#
# NEC EMMA2RH Mark-eins
# NEC EMMA2RH Mark-eins
core-$(CONFIG_MARKEINS)         += arch/mips/emma2rh/markeins/
#
load-$(CONFIG_MARKEINS)         += 0xffffffff88100000
core-$(CONFIG_NEC_MARKEINS)	+= arch/mips/emma/markeins/
load-$(CONFIG_NEC_MARKEINS)	+= 0xffffffff88100000


#
#
# SGI IP22 (Indy/Indigo2)
# SGI IP22 (Indy/Indigo2)
+74 −24
Original line number Original line Diff line number Diff line
@@ -17,6 +17,8 @@
#include <linux/init.h>
#include <linux/init.h>


#include <asm/mach-au1x00/au1xxx.h>
#include <asm/mach-au1x00/au1xxx.h>
#include <asm/mach-au1x00/au1xxx_dbdma.h>
#include <asm/mach-au1x00/au1100_mmc.h>


#define PORT(_base, _irq)				\
#define PORT(_base, _irq)				\
	{						\
	{						\
@@ -163,24 +165,6 @@ static struct resource au1xxx_usb_gdt_resources[] = {
	},
	},
};
};


static struct resource au1xxx_mmc_resources[] = {
	[0] = {
		.start          = SD0_PHYS_ADDR,
		.end            = SD0_PHYS_ADDR + 0x7ffff,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start		= SD1_PHYS_ADDR,
		.end 		= SD1_PHYS_ADDR + 0x7ffff,
		.flags		= IORESOURCE_MEM,
	},
	[2] = {
		.start          = AU1200_SD_INT,
		.end            = AU1200_SD_INT,
		.flags          = IORESOURCE_IRQ,
	}
};

static u64 udc_dmamask = DMA_32BIT_MASK;
static u64 udc_dmamask = DMA_32BIT_MASK;


static struct platform_device au1xxx_usb_gdt_device = {
static struct platform_device au1xxx_usb_gdt_device = {
@@ -249,16 +233,79 @@ static struct platform_device au1200_lcd_device = {


static u64 au1xxx_mmc_dmamask =  DMA_32BIT_MASK;
static u64 au1xxx_mmc_dmamask =  DMA_32BIT_MASK;


static struct platform_device au1xxx_mmc_device = {
extern struct au1xmmc_platform_data au1xmmc_platdata[2];

static struct resource au1200_mmc0_resources[] = {
	[0] = {
		.start          = SD0_PHYS_ADDR,
		.end            = SD0_PHYS_ADDR + 0x7ffff,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start		= AU1200_SD_INT,
		.end		= AU1200_SD_INT,
		.flags		= IORESOURCE_IRQ,
	},
	[2] = {
		.start		= DSCR_CMD0_SDMS_TX0,
		.end		= DSCR_CMD0_SDMS_TX0,
		.flags		= IORESOURCE_DMA,
	},
	[3] = {
		.start          = DSCR_CMD0_SDMS_RX0,
		.end		= DSCR_CMD0_SDMS_RX0,
		.flags          = IORESOURCE_DMA,
	}
};

static struct platform_device au1200_mmc0_device = {
	.name = "au1xxx-mmc",
	.name = "au1xxx-mmc",
	.id = 0,
	.id = 0,
	.dev = {
	.dev = {
		.dma_mask		= &au1xxx_mmc_dmamask,
		.dma_mask		= &au1xxx_mmc_dmamask,
		.coherent_dma_mask	= DMA_32BIT_MASK,
		.coherent_dma_mask	= DMA_32BIT_MASK,
		.platform_data		= &au1xmmc_platdata[0],
	},
	.num_resources	= ARRAY_SIZE(au1200_mmc0_resources),
	.resource	= au1200_mmc0_resources,
};

#ifndef CONFIG_MIPS_DB1200
static struct resource au1200_mmc1_resources[] = {
	[0] = {
		.start          = SD1_PHYS_ADDR,
		.end            = SD1_PHYS_ADDR + 0x7ffff,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start		= AU1200_SD_INT,
		.end		= AU1200_SD_INT,
		.flags		= IORESOURCE_IRQ,
	},
	[2] = {
		.start		= DSCR_CMD0_SDMS_TX1,
		.end		= DSCR_CMD0_SDMS_TX1,
		.flags		= IORESOURCE_DMA,
	},
	[3] = {
		.start          = DSCR_CMD0_SDMS_RX1,
		.end		= DSCR_CMD0_SDMS_RX1,
		.flags          = IORESOURCE_DMA,
	}
};

static struct platform_device au1200_mmc1_device = {
	.name = "au1xxx-mmc",
	.id = 1,
	.dev = {
		.dma_mask		= &au1xxx_mmc_dmamask,
		.coherent_dma_mask	= DMA_32BIT_MASK,
		.platform_data		= &au1xmmc_platdata[1],
	},
	},
	.num_resources  = ARRAY_SIZE(au1xxx_mmc_resources),
	.num_resources	= ARRAY_SIZE(au1200_mmc1_resources),
	.resource       = au1xxx_mmc_resources,
	.resource	= au1200_mmc1_resources,
};
};
#endif /* #ifndef CONFIG_MIPS_DB1200 */
#endif /* #ifdef CONFIG_SOC_AU1200 */
#endif /* #ifdef CONFIG_SOC_AU1200 */


static struct platform_device au1x00_pcmcia_device = {
static struct platform_device au1x00_pcmcia_device = {
@@ -296,7 +343,10 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = {
	&au1xxx_usb_gdt_device,
	&au1xxx_usb_gdt_device,
	&au1xxx_usb_otg_device,
	&au1xxx_usb_otg_device,
	&au1200_lcd_device,
	&au1200_lcd_device,
	&au1xxx_mmc_device,
	&au1200_mmc0_device,
#ifndef CONFIG_MIPS_DB1200
	&au1200_mmc1_device,
#endif
#endif
#endif
#ifdef SMBUS_PSC_BASE
#ifdef SMBUS_PSC_BASE
	&pbdb_smbus_device,
	&pbdb_smbus_device,
+81 −0
Original line number Original line Diff line number Diff line
@@ -20,9 +20,90 @@


#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/leds.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>


#include <asm/mach-au1x00/au1xxx.h>
#include <asm/mach-au1x00/au1xxx.h>
#include <asm/mach-au1x00/au1100_mmc.h>

static int mmc_activity;

static void pb1200mmc0_set_power(void *mmc_host, int state)
{
	if (state)
		bcsr->board |= BCSR_BOARD_SD0PWR;
	else
		bcsr->board &= ~BCSR_BOARD_SD0PWR;

	au_sync_delay(1);
}

static int pb1200mmc0_card_readonly(void *mmc_host)
{
	return (bcsr->status & BCSR_STATUS_SD0WP) ? 1 : 0;
}

static int pb1200mmc0_card_inserted(void *mmc_host)
{
	return (bcsr->sig_status & BCSR_INT_SD0INSERT) ? 1 : 0;
}

static void pb1200_mmcled_set(struct led_classdev *led,
			enum led_brightness brightness)
{
	if (brightness != LED_OFF) {
		if (++mmc_activity == 1)
			bcsr->disk_leds &= ~(1 << 8);
	} else {
		if (--mmc_activity == 0)
			bcsr->disk_leds |= (1 << 8);
	}
}

static struct led_classdev pb1200mmc_led = {
	.brightness_set	= pb1200_mmcled_set,
};

#ifndef CONFIG_MIPS_DB1200
static void pb1200mmc1_set_power(void *mmc_host, int state)
{
	if (state)
		bcsr->board |= BCSR_BOARD_SD1PWR;
	else
		bcsr->board &= ~BCSR_BOARD_SD1PWR;

	au_sync_delay(1);
}

static int pb1200mmc1_card_readonly(void *mmc_host)
{
	return (bcsr->status & BCSR_STATUS_SD1WP) ? 1 : 0;
}

static int pb1200mmc1_card_inserted(void *mmc_host)
{
	return (bcsr->sig_status & BCSR_INT_SD1INSERT) ? 1 : 0;
}
#endif

const struct au1xmmc_platform_data au1xmmc_platdata[2] = {
	[0] = {
		.set_power	= pb1200mmc0_set_power,
		.card_inserted	= pb1200mmc0_card_inserted,
		.card_readonly	= pb1200mmc0_card_readonly,
		.cd_setup	= NULL,		/* use poll-timer in driver */
		.led		= &pb1200mmc_led,
	},
#ifndef CONFIG_MIPS_DB1200
	[1] = {
		.set_power	= pb1200mmc1_set_power,
		.card_inserted	= pb1200mmc1_card_inserted,
		.card_readonly	= pb1200mmc1_card_readonly,
		.cd_setup	= NULL,		/* use poll-timer in driver */
		.led		= &pb1200mmc_led,
	},
#endif
};


static struct resource ide_resources[] = {
static struct resource ide_resources[] = {
	[0] = {
	[0] = {
+1149 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading