diff options
Diffstat (limited to 'arch/mips/include/asm/mach-powertv')
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/asic.h | 120 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/asic_reg_map.h | 90 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/asic_regs.h | 125 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/dma-coherence.h | 119 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/interrupts.h | 253 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/ioremap.h | 167 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/irq.h | 25 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/powertv-clock.h | 29 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-powertv/war.h | 28 | 
9 files changed, 0 insertions, 956 deletions
diff --git a/arch/mips/include/asm/mach-powertv/asic.h b/arch/mips/include/asm/mach-powertv/asic.h deleted file mode 100644 index c7077a64b9a..00000000000 --- a/arch/mips/include/asm/mach-powertv/asic.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ - -#ifndef _ASM_MACH_POWERTV_ASIC_H -#define _ASM_MACH_POWERTV_ASIC_H - -#include <linux/ioport.h> -#include <linux/platform_device.h> -#include <asm/mach-powertv/asic_regs.h> - -#define DVR_CAPABLE     (1<<0) -#define PCIE_CAPABLE    (1<<1) -#define FFS_CAPABLE     (1<<2) -#define DISPLAY_CAPABLE (1<<3) - -/* Platform Family types - * For compitability, the new value must be added in the end */ -enum family_type { -	FAMILY_8500, -	FAMILY_8500RNG, -	FAMILY_4500, -	FAMILY_1500, -	FAMILY_8600, -	FAMILY_4600, -	FAMILY_4600VZA, -	FAMILY_8600VZB, -	FAMILY_1500VZE, -	FAMILY_1500VZF, -	FAMILY_8700, -	FAMILIES -}; - -/* Register maps for each ASIC */ -extern const struct register_map calliope_register_map; -extern const struct register_map cronus_register_map; -extern const struct register_map gaia_register_map; -extern const struct register_map zeus_register_map; - -extern struct resource dvr_cronus_resources[]; -extern struct resource dvr_gaia_resources[]; -extern struct resource dvr_zeus_resources[]; -extern struct resource non_dvr_calliope_resources[]; -extern struct resource non_dvr_cronus_resources[]; -extern struct resource non_dvr_cronuslite_resources[]; -extern struct resource non_dvr_gaia_resources[]; -extern struct resource non_dvr_vz_calliope_resources[]; -extern struct resource non_dvr_vze_calliope_resources[]; -extern struct resource non_dvr_vzf_calliope_resources[]; -extern struct resource non_dvr_zeus_resources[]; - -extern void powertv_platform_init(void); -extern void platform_alloc_bootmem(void); -extern enum asic_type platform_get_asic(void); -extern enum family_type platform_get_family(void); -extern int platform_supports_dvr(void); -extern int platform_supports_ffs(void); -extern int platform_supports_pcie(void); -extern int platform_supports_display(void); -extern void configure_platform(void); - -/* Platform Resources */ -#define ASIC_RESOURCE_GET_EXISTS 1 -extern struct resource *asic_resource_get(const char *name); -extern void platform_release_memory(void *baddr, int size); - -/* USB configuration */ -struct usb_hcd;			/* Forward reference */ -extern void platform_configure_usb_ehci(void); -extern void platform_unconfigure_usb_ehci(void); -extern void platform_configure_usb_ohci(void); -extern void platform_unconfigure_usb_ohci(void); - -/* Resource for ASIC registers */ -extern struct resource asic_resource; -extern int platform_usb_devices_init(struct platform_device **echi_dev, -	struct platform_device **ohci_dev); - -/* Reboot Cause */ -extern void set_reboot_cause(char code, unsigned int data, unsigned int data2); -extern void set_locked_reboot_cause(char code, unsigned int data, -	unsigned int data2); - -enum sys_reboot_type { -	sys_unknown_reboot = 0x00,	/* Unknown reboot cause */ -	sys_davic_change = 0x01,	/* Reboot due to change in DAVIC -					 * mode */ -	sys_user_reboot = 0x02,		/* Reboot initiated by user */ -	sys_system_reboot = 0x03,	/* Reboot initiated by OS */ -	sys_trap_reboot = 0x04,		/* Reboot due to a CPU trap */ -	sys_silent_reboot = 0x05,	/* Silent reboot */ -	sys_boot_ldr_reboot = 0x06,	/* Bootloader reboot */ -	sys_power_up_reboot = 0x07,	/* Power on bootup.  Older -					 * drivers may report as -					 * userReboot. */ -	sys_code_change = 0x08,		/* Reboot to take code change. -					 * Older drivers may report as -					 * userReboot. */ -	sys_hardware_reset = 0x09,	/* HW watchdog or front-panel -					 * reset button reset.  Older -					 * drivers may report as -					 * userReboot. */ -	sys_watchdogInterrupt = 0x0A	/* Pre-watchdog interrupt */ -}; - -#endif /* _ASM_MACH_POWERTV_ASIC_H */ diff --git a/arch/mips/include/asm/mach-powertv/asic_reg_map.h b/arch/mips/include/asm/mach-powertv/asic_reg_map.h deleted file mode 100644 index 20348e817b0..00000000000 --- a/arch/mips/include/asm/mach-powertv/asic_reg_map.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - *				asic_reg_map.h - * - * A macro-enclosed list of the elements for the register_map structure for - * use in defining and manipulating the structure. - * - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ - -REGISTER_MAP_ELEMENT(eic_slow0_strt_add) -REGISTER_MAP_ELEMENT(eic_cfg_bits) -REGISTER_MAP_ELEMENT(eic_ready_status) -REGISTER_MAP_ELEMENT(chipver3) -REGISTER_MAP_ELEMENT(chipver2) -REGISTER_MAP_ELEMENT(chipver1) -REGISTER_MAP_ELEMENT(chipver0) -REGISTER_MAP_ELEMENT(uart1_intstat) -REGISTER_MAP_ELEMENT(uart1_inten) -REGISTER_MAP_ELEMENT(uart1_config1) -REGISTER_MAP_ELEMENT(uart1_config2) -REGISTER_MAP_ELEMENT(uart1_divisorhi) -REGISTER_MAP_ELEMENT(uart1_divisorlo) -REGISTER_MAP_ELEMENT(uart1_data) -REGISTER_MAP_ELEMENT(uart1_status) -REGISTER_MAP_ELEMENT(int_stat_3) -REGISTER_MAP_ELEMENT(int_stat_2) -REGISTER_MAP_ELEMENT(int_stat_1) -REGISTER_MAP_ELEMENT(int_stat_0) -REGISTER_MAP_ELEMENT(int_config) -REGISTER_MAP_ELEMENT(int_int_scan) -REGISTER_MAP_ELEMENT(ien_int_3) -REGISTER_MAP_ELEMENT(ien_int_2) -REGISTER_MAP_ELEMENT(ien_int_1) -REGISTER_MAP_ELEMENT(ien_int_0) -REGISTER_MAP_ELEMENT(int_level_3_3) -REGISTER_MAP_ELEMENT(int_level_3_2) -REGISTER_MAP_ELEMENT(int_level_3_1) -REGISTER_MAP_ELEMENT(int_level_3_0) -REGISTER_MAP_ELEMENT(int_level_2_3) -REGISTER_MAP_ELEMENT(int_level_2_2) -REGISTER_MAP_ELEMENT(int_level_2_1) -REGISTER_MAP_ELEMENT(int_level_2_0) -REGISTER_MAP_ELEMENT(int_level_1_3) -REGISTER_MAP_ELEMENT(int_level_1_2) -REGISTER_MAP_ELEMENT(int_level_1_1) -REGISTER_MAP_ELEMENT(int_level_1_0) -REGISTER_MAP_ELEMENT(int_level_0_3) -REGISTER_MAP_ELEMENT(int_level_0_2) -REGISTER_MAP_ELEMENT(int_level_0_1) -REGISTER_MAP_ELEMENT(int_level_0_0) -REGISTER_MAP_ELEMENT(int_docsis_en) -REGISTER_MAP_ELEMENT(mips_pll_setup) -REGISTER_MAP_ELEMENT(fs432x4b4_usb_ctl) -REGISTER_MAP_ELEMENT(test_bus) -REGISTER_MAP_ELEMENT(crt_spare) -REGISTER_MAP_ELEMENT(usb2_ohci_int_mask) -REGISTER_MAP_ELEMENT(usb2_strap) -REGISTER_MAP_ELEMENT(ehci_hcapbase) -REGISTER_MAP_ELEMENT(ohci_hc_revision) -REGISTER_MAP_ELEMENT(bcm1_bs_lmi_steer) -REGISTER_MAP_ELEMENT(usb2_control) -REGISTER_MAP_ELEMENT(usb2_stbus_obc) -REGISTER_MAP_ELEMENT(usb2_stbus_mess_size) -REGISTER_MAP_ELEMENT(usb2_stbus_chunk_size) -REGISTER_MAP_ELEMENT(pcie_regs) -REGISTER_MAP_ELEMENT(tim_ch) -REGISTER_MAP_ELEMENT(tim_cl) -REGISTER_MAP_ELEMENT(gpio_dout) -REGISTER_MAP_ELEMENT(gpio_din) -REGISTER_MAP_ELEMENT(gpio_dir) -REGISTER_MAP_ELEMENT(watchdog) -REGISTER_MAP_ELEMENT(front_panel) -REGISTER_MAP_ELEMENT(misc_clk_ctl1) -REGISTER_MAP_ELEMENT(misc_clk_ctl2) -REGISTER_MAP_ELEMENT(crt_ext_ctl) -REGISTER_MAP_ELEMENT(register_maps) diff --git a/arch/mips/include/asm/mach-powertv/asic_regs.h b/arch/mips/include/asm/mach-powertv/asic_regs.h deleted file mode 100644 index deecb26a077..00000000000 --- a/arch/mips/include/asm/mach-powertv/asic_regs.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ - -#ifndef __ASM_MACH_POWERTV_ASIC_H_ -#define __ASM_MACH_POWERTV_ASIC_H_ -#include <linux/io.h> - -/* ASIC types */ -enum asic_type { -	ASIC_UNKNOWN, -	ASIC_ZEUS, -	ASIC_CALLIOPE, -	ASIC_CRONUS, -	ASIC_CRONUSLITE, -	ASIC_GAIA, -	ASICS			/* Number of supported ASICs */ -}; - -/* hardcoded values read from Chip Version registers */ -#define CRONUS_10	0x0B4C1C20 -#define CRONUS_11	0x0B4C1C21 -#define CRONUSLITE_10	0x0B4C1C40 - -#define NAND_FLASH_BASE		0x03000000 -#define CALLIOPE_IO_BASE	0x08000000 -#define GAIA_IO_BASE		0x09000000 -#define CRONUS_IO_BASE		0x09000000 -#define ZEUS_IO_BASE		0x09000000 - -#define ASIC_IO_SIZE		0x01000000 - -/* Definitions for backward compatibility */ -#define UART1_INTSTAT	uart1_intstat -#define UART1_INTEN	uart1_inten -#define UART1_CONFIG1	uart1_config1 -#define UART1_CONFIG2	uart1_config2 -#define UART1_DIVISORHI	uart1_divisorhi -#define UART1_DIVISORLO	uart1_divisorlo -#define UART1_DATA	uart1_data -#define UART1_STATUS	uart1_status - -/* ASIC register enumeration */ -union register_map_entry { -	unsigned long phys; -	u32 *virt; -}; - -#define REGISTER_MAP_ELEMENT(x) union register_map_entry x; -struct register_map { -#include <asm/mach-powertv/asic_reg_map.h> -}; -#undef REGISTER_MAP_ELEMENT - -/** - * register_map_offset_phys - add an offset to the physical address - * @map:	Pointer to the &struct register_map - * @offset:	Value to add - * - * Only adds the base to non-zero physical addresses - */ -static inline void register_map_offset_phys(struct register_map *map, -	unsigned long offset) -{ -#define REGISTER_MAP_ELEMENT(x)		do {				\ -		if (map->x.phys != 0)					\ -			map->x.phys += offset;				\ -	} while (false); - -#include <asm/mach-powertv/asic_reg_map.h> -#undef REGISTER_MAP_ELEMENT -} - -/** - * register_map_virtualize - Convert ®ister_map to virtual addresses - * @map:	Pointer to ®ister_map to virtualize - */ -static inline void register_map_virtualize(struct register_map *map) -{ -#define REGISTER_MAP_ELEMENT(x)		do {				\ -		map->x.virt = (!map->x.phys) ? NULL :			\ -			UNCAC_ADDR(phys_to_virt(map->x.phys));		\ -	} while (false); - -#include <asm/mach-powertv/asic_reg_map.h> -#undef REGISTER_MAP_ELEMENT -} - -extern struct register_map _asic_register_map; -extern unsigned long asic_phy_base; - -/* - * Macros to interface to registers through their ioremapped address - * asic_reg_phys_addr	Returns the physical address of the given register - * asic_reg_addr	Returns the iomapped virtual address of the given - *			register. - */ -#define asic_reg_addr(x)	(_asic_register_map.x.virt) -#define asic_reg_phys_addr(x)	(virt_to_phys((void *) CAC_ADDR(	\ -					(unsigned long) asic_reg_addr(x)))) - -/* - * The asic_reg macro is gone. It should be replaced by either asic_read or - * asic_write, as appropriate. - */ - -#define asic_read(x)		readl(asic_reg_addr(x)) -#define asic_write(v, x)	writel(v, asic_reg_addr(x)) - -extern void asic_irq_init(void); -#endif diff --git a/arch/mips/include/asm/mach-powertv/dma-coherence.h b/arch/mips/include/asm/mach-powertv/dma-coherence.h deleted file mode 100644 index f76029c2406..00000000000 --- a/arch/mips/include/asm/mach-powertv/dma-coherence.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * This file is subject to the terms and conditions of the GNU General Public - * License.  See the file "COPYING" in the main directory of this archive - * for more details. - * - * Version from mach-generic modified to support PowerTV port - * Portions Copyright (C) 2009  Cisco Systems, Inc. - * Copyright (C) 2006  Ralf Baechle <ralf@linux-mips.org> - * - */ - -#ifndef __ASM_MACH_POWERTV_DMA_COHERENCE_H -#define __ASM_MACH_POWERTV_DMA_COHERENCE_H - -#include <linux/sched.h> -#include <linux/version.h> -#include <linux/device.h> -#include <asm/mach-powertv/asic.h> - -static inline bool is_kseg2(void *addr) -{ -	return (unsigned long)addr >= KSEG2; -} - -static inline unsigned long virt_to_phys_from_pte(void *addr) -{ -	pgd_t *pgd; -	pud_t *pud; -	pmd_t *pmd; -	pte_t *ptep, pte; - -	unsigned long virt_addr = (unsigned long)addr; -	unsigned long phys_addr = 0UL; - -	/* get the page global directory. */ -	pgd = pgd_offset_k(virt_addr); - -	if (!pgd_none(*pgd)) { -		/* get the page upper directory */ -		pud = pud_offset(pgd, virt_addr); -		if (!pud_none(*pud)) { -			/* get the page middle directory */ -			pmd = pmd_offset(pud, virt_addr); -			if (!pmd_none(*pmd)) { -				/* get a pointer to the page table entry */ -				ptep = pte_offset(pmd, virt_addr); -				pte = *ptep; -				/* check for a valid page */ -				if (pte_present(pte)) { -					/* get the physical address the page is -					 * refering to */ -					phys_addr = (unsigned long) -						page_to_phys(pte_page(pte)); -					/* add the offset within the page */ -					phys_addr |= (virt_addr & ~PAGE_MASK); -				} -			} -		} -	} - -	return phys_addr; -} - -static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr, -	size_t size) -{ -	if (is_kseg2(addr)) -		return phys_to_dma(virt_to_phys_from_pte(addr)); -	else -		return phys_to_dma(virt_to_phys(addr)); -} - -static inline dma_addr_t plat_map_dma_mem_page(struct device *dev, -	struct page *page) -{ -	return phys_to_dma(page_to_phys(page)); -} - -static inline unsigned long plat_dma_addr_to_phys(struct device *dev, -	dma_addr_t dma_addr) -{ -	return dma_to_phys(dma_addr); -} - -static inline void plat_unmap_dma_mem(struct device *dev, dma_addr_t dma_addr, -	size_t size, enum dma_data_direction direction) -{ -} - -static inline int plat_dma_supported(struct device *dev, u64 mask) -{ -	/* -	 * we fall back to GFP_DMA when the mask isn't all 1s, -	 * so we can't guarantee allocations that must be -	 * within a tighter range than GFP_DMA.. -	 */ -	if (mask < DMA_BIT_MASK(24)) -		return 0; - -	return 1; -} - -static inline void plat_extra_sync_for_device(struct device *dev) -{ -	return; -} - -static inline int plat_dma_mapping_error(struct device *dev, -					 dma_addr_t dma_addr) -{ -	return 0; -} - -static inline int plat_device_is_coherent(struct device *dev) -{ -	return 0; -} - -#endif /* __ASM_MACH_POWERTV_DMA_COHERENCE_H */ diff --git a/arch/mips/include/asm/mach-powertv/interrupts.h b/arch/mips/include/asm/mach-powertv/interrupts.h deleted file mode 100644 index 4fd652ceb52..00000000000 --- a/arch/mips/include/asm/mach-powertv/interrupts.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ - -#ifndef	_ASM_MACH_POWERTV_INTERRUPTS_H_ -#define _ASM_MACH_POWERTV_INTERRUPTS_H_ - -/* - * Defines for all of the interrupt lines - */ - -/* Definitions for backward compatibility */ -#define kIrq_Uart1		irq_uart1 - -#define ibase 0 - -/*------------- Register: int_stat_3 */ -/* 126 unused (bit 31) */ -#define irq_asc2video		(ibase+126)	/* ASC 2 Video Interrupt */ -#define irq_asc1video		(ibase+125)	/* ASC 1 Video Interrupt */ -#define irq_comms_block_wd	(ibase+124)	/* ASC 1 Video Interrupt */ -#define irq_fdma_mailbox	(ibase+123)	/* FDMA Mailbox Output */ -#define irq_fdma_gp		(ibase+122)	/* FDMA GP Output */ -#define irq_mips_pic		(ibase+121)	/* MIPS Performance Counter -						 * Interrupt */ -#define irq_mips_timer		(ibase+120)	/* MIPS Timer Interrupt */ -#define irq_memory_protect	(ibase+119)	/* Memory Protection Interrupt -						 * -- Ored by glue logic inside -						 *  SPARC ILC (see -						 *  INT_MEM_PROT_STAT, below, -						 *  for individual interrupts) -						 */ -/* 118 unused (bit 22) */ -#define irq_sbag		(ibase+117)	/* SBAG Interrupt -- Ored by -						 * glue logic inside SPARC ILC -						 * (see INT_SBAG_STAT, below, -						 * for individual interrupts) */ -#define irq_qam_b_fec		(ibase+116)	/* QAM  B FEC Interrupt */ -#define irq_qam_a_fec		(ibase+115)	/* QAM A FEC Interrupt */ -/* 114 unused 	(bit 18) */ -#define irq_mailbox		(ibase+113)	/* Mailbox Debug Interrupt  -- -						 * Ored by glue logic inside -						 * SPARC ILC (see -						 * INT_MAILBOX_STAT, below, for -						 * individual interrupts) */ -#define irq_fuse_stat1		(ibase+112)	/* Fuse Status 1 */ -#define irq_fuse_stat2		(ibase+111)	/* Fuse Status 2 */ -#define irq_fuse_stat3		(ibase+110)	/* Blitter Interrupt / Fuse -						 * Status 3 */ -#define irq_blitter		(ibase+110)	/* Blitter Interrupt / Fuse -						 * Status 3 */ -#define irq_avc1_pp0		(ibase+109)	/* AVC Decoder #1 PP0 -						 * Interrupt */ -#define irq_avc1_pp1		(ibase+108)	/* AVC Decoder #1 PP1 -						 * Interrupt */ -#define irq_avc1_mbe		(ibase+107)	/* AVC Decoder #1 MBE -						 * Interrupt */ -#define irq_avc2_pp0		(ibase+106)	/* AVC Decoder #2 PP0 -						 * Interrupt */ -#define irq_avc2_pp1		(ibase+105)	/* AVC Decoder #2 PP1 -						 * Interrupt */ -#define irq_avc2_mbe		(ibase+104)	/* AVC Decoder #2 MBE -						 * Interrupt */ -#define irq_zbug_spi		(ibase+103)	/* Zbug SPI Slave Interrupt */ -#define irq_qam_mod2		(ibase+102)	/* QAM Modulator 2 DMA -						 * Interrupt */ -#define irq_ir_rx		(ibase+101)	/* IR RX 2 Interrupt */ -#define irq_aud_dsp2		(ibase+100)	/* Audio DSP #2 Interrupt */ -#define irq_aud_dsp1		(ibase+99)	/* Audio DSP #1 Interrupt */ -#define irq_docsis		(ibase+98)	/* DOCSIS Debug Interrupt */ -#define irq_sd_dvp1		(ibase+97)	/* SD DVP #1 Interrupt */ -#define irq_sd_dvp2		(ibase+96)	/* SD DVP #2 Interrupt */ -/*------------- Register: int_stat_2 */ -#define irq_hd_dvp		(ibase+95)	/* HD DVP Interrupt */ -#define kIrq_Prewatchdog	(ibase+94)	/* watchdog Pre-Interrupt */ -#define irq_timer2		(ibase+93)	/* Programmable Timer -						 * Interrupt 2 */ -#define irq_1394		(ibase+92)	/* 1394 Firewire Interrupt */ -#define irq_usbohci		(ibase+91)	/* USB 2.0 OHCI Interrupt */ -#define irq_usbehci		(ibase+90)	/* USB 2.0 EHCI Interrupt */ -#define irq_pciexp		(ibase+89)	/* PCI Express 0 Interrupt */ -#define irq_pciexp0		(ibase+89)	/* PCI Express 0 Interrupt */ -#define irq_afe1		(ibase+88)	/* AFE 1 Interrupt */ -#define irq_sata		(ibase+87)	/* SATA 1 Interrupt */ -#define irq_sata1		(ibase+87)	/* SATA 1 Interrupt */ -#define irq_dtcp		(ibase+86)	/* DTCP Interrupt */ -#define irq_pciexp1		(ibase+85)	/* PCI Express 1 Interrupt */ -/* 84 unused 	(bit 20) */ -/* 83 unused 	(bit 19) */ -/* 82 unused 	(bit 18) */ -#define irq_sata2		(ibase+81)	/* SATA2 Interrupt */ -#define irq_uart2		(ibase+80)	/* UART2 Interrupt */ -#define irq_legacy_usb		(ibase+79)	/* Legacy USB Host ISR (1.1 -						 * Host module) */ -#define irq_pod			(ibase+78)	/* POD Interrupt */ -#define irq_slave_usb		(ibase+77)	/* Slave USB */ -#define irq_denc1		(ibase+76)	/* DENC #1 VTG Interrupt */ -#define irq_vbi_vtg		(ibase+75)	/* VBI VTG Interrupt */ -#define irq_afe2		(ibase+74)	/* AFE 2 Interrupt */ -#define irq_denc2		(ibase+73)	/* DENC #2 VTG Interrupt */ -#define irq_asc2		(ibase+72)	/* ASC #2 Interrupt */ -#define irq_asc1		(ibase+71)	/* ASC #1 Interrupt */ -#define irq_mod_dma		(ibase+70)	/* Modulator DMA Interrupt */ -#define irq_byte_eng1		(ibase+69)	/* Byte Engine Interrupt [1] */ -#define irq_byte_eng0		(ibase+68)	/* Byte Engine Interrupt [0] */ -/* 67 unused 	(bit 03) */ -/* 66 unused 	(bit 02) */ -/* 65 unused 	(bit 01) */ -/* 64 unused 	(bit 00) */ -/*------------- Register: int_stat_1 */ -/* 63 unused 	(bit 31) */ -/* 62 unused 	(bit 30) */ -/* 61 unused 	(bit 29) */ -/* 60 unused 	(bit 28) */ -/* 59 unused 	(bit 27) */ -/* 58 unused 	(bit 26) */ -/* 57 unused 	(bit 25) */ -/* 56 unused 	(bit 24) */ -#define irq_buf_dma_mem2mem	(ibase+55)	/* BufDMA Memory to Memory -						 * Interrupt */ -#define irq_buf_dma_usbtransmit	(ibase+54)	/* BufDMA USB Transmit -						 * Interrupt */ -#define irq_buf_dma_qpskpodtransmit (ibase+53)	/* BufDMA QPSK/POD Tramsit -						 * Interrupt */ -#define irq_buf_dma_transmit_error (ibase+52)	/* BufDMA Transmit Error -						 * Interrupt */ -#define irq_buf_dma_usbrecv	(ibase+51)	/* BufDMA USB Receive -						 * Interrupt */ -#define irq_buf_dma_qpskpodrecv	(ibase+50)	/* BufDMA QPSK/POD Receive -						 * Interrupt */ -#define irq_buf_dma_recv_error	(ibase+49)	/* BufDMA Receive Error -						 * Interrupt */ -#define irq_qamdma_transmit_play (ibase+48)	/* QAMDMA Transmit/Play -						 * Interrupt */ -#define irq_qamdma_transmit_error (ibase+47)	/* QAMDMA Transmit Error -						 * Interrupt */ -#define irq_qamdma_recv2high	(ibase+46)	/* QAMDMA Receive 2 High -						 * (Chans 63-32) */ -#define irq_qamdma_recv2low	(ibase+45)	/* QAMDMA Receive 2 Low -						 * (Chans 31-0) */ -#define irq_qamdma_recv1high	(ibase+44)	/* QAMDMA Receive 1 High -						 * (Chans 63-32) */ -#define irq_qamdma_recv1low	(ibase+43)	/* QAMDMA Receive 1 Low -						 * (Chans 31-0) */ -#define irq_qamdma_recv_error	(ibase+42)	/* QAMDMA Receive Error -						 * Interrupt */ -#define irq_mpegsplice		(ibase+41)	/* MPEG Splice Interrupt */ -#define irq_deinterlace_rdy	(ibase+40)	/* Deinterlacer Frame Ready -						 * Interrupt */ -#define irq_ext_in0		(ibase+39)	/* External Interrupt irq_in0 */ -#define irq_gpio3		(ibase+38)	/* GP I/O IRQ 3 - From GP I/O -						 * Module */ -#define irq_gpio2		(ibase+37)	/* GP I/O IRQ 2 - From GP I/O -						 * Module (ABE_intN) */ -#define irq_pcrcmplt1		(ibase+36)	/* PCR Capture Complete  or -						 * Discontinuity 1 */ -#define irq_pcrcmplt2		(ibase+35)	/* PCR Capture Complete or -						 * Discontinuity 2 */ -#define irq_parse_peierr	(ibase+34)	/* PID Parser Error Detect -						 * (PEI) */ -#define irq_parse_cont_err	(ibase+33)	/* PID Parser continuity error -						 * detect */ -#define irq_ds1framer		(ibase+32)	/* DS1 Framer Interrupt */ -/*------------- Register: int_stat_0 */ -#define irq_gpio1		(ibase+31)	/* GP I/O IRQ 1 - From GP I/O -						 * Module */ -#define irq_gpio0		(ibase+30)	/* GP I/O IRQ 0 - From GP I/O -						 * Module */ -#define irq_qpsk_out_aloha	(ibase+29)	/* QPSK Output Slotted Aloha -						 * (chan 3) Transmission -						 * Completed OK */ -#define irq_qpsk_out_tdma	(ibase+28)	/* QPSK Output TDMA (chan 2) -						 * Transmission Completed OK */ -#define irq_qpsk_out_reserve	(ibase+27)	/* QPSK Output Reservation -						 * (chan 1) Transmission -						 * Completed OK */ -#define irq_qpsk_out_aloha_err	(ibase+26)	/* QPSK Output Slotted Aloha -						 * (chan 3)Transmission -						 * completed with Errors. */ -#define irq_qpsk_out_tdma_err	(ibase+25)	/* QPSK Output TDMA (chan 2) -						 * Transmission completed with -						 * Errors. */ -#define irq_qpsk_out_rsrv_err	(ibase+24)	/* QPSK Output Reservation -						 * (chan 1) Transmission -						 * completed with Errors */ -#define irq_aloha_fail		(ibase+23)	/* Unsuccessful Resend of Aloha -						 * for N times. Aloha retry -						 * timeout for channel 3. */ -#define irq_timer1		(ibase+22)	/* Programmable Timer -						 * Interrupt */ -#define irq_keyboard		(ibase+21)	/* Keyboard Module Interrupt */ -#define irq_i2c			(ibase+20)	/* I2C Module Interrupt */ -#define irq_spi			(ibase+19)	/* SPI Module Interrupt */ -#define irq_irblaster		(ibase+18)	/* IR Blaster Interrupt */ -#define irq_splice_detect	(ibase+17)	/* PID Key Change Interrupt or -						 * Splice Detect Interrupt */ -#define irq_se_micro		(ibase+16)	/* Secure Micro I/F Module -						 * Interrupt */ -#define irq_uart1		(ibase+15)	/* UART Interrupt */ -#define irq_irrecv		(ibase+14)	/* IR Receiver Interrupt */ -#define irq_host_int1		(ibase+13)	/* Host-to-Host Interrupt 1 */ -#define irq_host_int0		(ibase+12)	/* Host-to-Host Interrupt 0 */ -#define irq_qpsk_hecerr		(ibase+11)	/* QPSK HEC Error Interrupt */ -#define irq_qpsk_crcerr		(ibase+10)	/* QPSK AAL-5 CRC Error -						 * Interrupt */ -/* 9 unused 	(bit 09) */ -/* 8 unused 	(bit 08) */ -#define irq_psicrcerr		(ibase+7) 	/* QAM PSI CRC Error -						 * Interrupt */ -#define irq_psilength_err	(ibase+6) 	/* QAM PSI Length Error -						 * Interrupt */ -#define irq_esfforward		(ibase+5) 	/* ESF Interrupt Mark From -						 * Forward Path Reference - -						 * every 3ms when forward Mbits -						 * and forward slot control -						 * bytes are updated. */ -#define irq_esfreverse		(ibase+4) 	/* ESF Interrupt Mark from -						 * Reverse Path Reference - -						 * delayed from forward mark by -						 * the ranging delay plus a -						 * fixed amount. When reverse -						 * Mbits and reverse slot -						 * control bytes are updated. -						 * Occurs every 3ms for 3.0M and -						 * 1.554 M upstream rates and -						 * every 6 ms for 256K upstream -						 * rate. */ -#define irq_aloha_timeout	(ibase+3) 	/* Slotted-Aloha timeout on -						 * Channel 1. */ -#define irq_reservation		(ibase+2) 	/* Partial (or Incremental) -						 * Reservation Message Completed -						 * or Slotted aloha verify for -						 * channel 1. */ -#define irq_aloha3		(ibase+1) 	/* Slotted-Aloha Message Verify -						 * Interrupt or Reservation -						 * increment completed for -						 * channel 3. */ -#define irq_mpeg_d		(ibase+0) 	/* MPEG Decoder Interrupt */ -#endif	/* _ASM_MACH_POWERTV_INTERRUPTS_H_ */ diff --git a/arch/mips/include/asm/mach-powertv/ioremap.h b/arch/mips/include/asm/mach-powertv/ioremap.h deleted file mode 100644 index 076f2eeaa57..00000000000 --- a/arch/mips/include/asm/mach-powertv/ioremap.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - *	This program is free software; you can redistribute it and/or - *	modify it under the terms of the GNU General Public License - *	as published by the Free Software Foundation; either version - *	2 of the License, or (at your option) any later version. - * - * Portions Copyright (C)  Cisco Systems, Inc. - */ -#ifndef __ASM_MACH_POWERTV_IOREMAP_H -#define __ASM_MACH_POWERTV_IOREMAP_H - -#include <linux/types.h> -#include <linux/log2.h> -#include <linux/compiler.h> - -#include <asm/pgtable-bits.h> -#include <asm/addrspace.h> - -/* We're going to mess with bits, so get sizes */ -#define IOR_BPC			8			/* Bits per char */ -#define IOR_PHYS_BITS		(IOR_BPC * sizeof(phys_addr_t)) -#define IOR_DMA_BITS		(IOR_BPC * sizeof(dma_addr_t)) - -/* - * Define the granularity of physical/DMA mapping in terms of the number - * of bits that defines the offset within a grain. These will be the - * least significant bits of the address. The rest of a physical or DMA - * address will be used to index into an appropriate table to find the - * offset to add to the address to yield the corresponding DMA or physical - * address, respectively. - */ -#define IOR_LSBITS		22			/* Bits in a grain */ - -/* - * Compute the number of most significant address bits after removing those - * used for the offset within a grain and then compute the number of table - * entries for the conversion. - */ -#define IOR_PHYS_MSBITS		(IOR_PHYS_BITS - IOR_LSBITS) -#define IOR_NUM_PHYS_TO_DMA	((phys_addr_t) 1 << IOR_PHYS_MSBITS) - -#define IOR_DMA_MSBITS		(IOR_DMA_BITS - IOR_LSBITS) -#define IOR_NUM_DMA_TO_PHYS	((dma_addr_t) 1 << IOR_DMA_MSBITS) - -/* - * Define data structures used as elements in the arrays for the conversion - * between physical and DMA addresses. We do some slightly fancy math to - * compute the width of the offset element of the conversion tables so - * that we can have the smallest conversion tables. Next, round up the - * sizes to the next higher power of two, i.e. the offset element will have - * 8, 16, 32, 64, etc. bits. This eliminates the need to mask off any - * bits.  Finally, we compute a shift value that puts the most significant - * bits of the offset into the most significant bits of the offset element. - * This makes it more efficient on processors without barrel shifters and - * easier to see the values if the conversion table is dumped in binary. - */ -#define _IOR_OFFSET_WIDTH(n)	(1 << order_base_2(n)) -#define IOR_OFFSET_WIDTH(n) \ -	(_IOR_OFFSET_WIDTH(n) < 8 ? 8 : _IOR_OFFSET_WIDTH(n)) - -#define IOR_PHYS_OFFSET_BITS	IOR_OFFSET_WIDTH(IOR_PHYS_MSBITS) -#define IOR_PHYS_SHIFT		(IOR_PHYS_BITS - IOR_PHYS_OFFSET_BITS) - -#define IOR_DMA_OFFSET_BITS	IOR_OFFSET_WIDTH(IOR_DMA_MSBITS) -#define IOR_DMA_SHIFT		(IOR_DMA_BITS - IOR_DMA_OFFSET_BITS) - -struct ior_phys_to_dma { -	dma_addr_t offset:IOR_DMA_OFFSET_BITS __packed -		__aligned((IOR_DMA_OFFSET_BITS / IOR_BPC)); -}; - -struct ior_dma_to_phys { -	dma_addr_t offset:IOR_PHYS_OFFSET_BITS __packed -		__aligned((IOR_PHYS_OFFSET_BITS / IOR_BPC)); -}; - -extern struct ior_phys_to_dma _ior_phys_to_dma[IOR_NUM_PHYS_TO_DMA]; -extern struct ior_dma_to_phys _ior_dma_to_phys[IOR_NUM_DMA_TO_PHYS]; - -static inline dma_addr_t _phys_to_dma_offset_raw(phys_addr_t phys) -{ -	return (dma_addr_t)_ior_phys_to_dma[phys >> IOR_LSBITS].offset; -} - -static inline dma_addr_t _dma_to_phys_offset_raw(dma_addr_t dma) -{ -	return (dma_addr_t)_ior_dma_to_phys[dma >> IOR_LSBITS].offset; -} - -/* These are not portable and should not be used in drivers. Drivers should - * be using ioremap() and friends to map physical addreses to virtual - * addresses and dma_map*() and friends to map virtual addresses into DMA - * addresses and back. - */ -static inline dma_addr_t phys_to_dma(phys_addr_t phys) -{ -	return phys + (_phys_to_dma_offset_raw(phys) << IOR_PHYS_SHIFT); -} - -static inline phys_addr_t dma_to_phys(dma_addr_t dma) -{ -	return dma + (_dma_to_phys_offset_raw(dma) << IOR_DMA_SHIFT); -} - -extern void ioremap_add_map(dma_addr_t phys, phys_addr_t alias, -	dma_addr_t size); - -/* - * Allow physical addresses to be fixed up to help peripherals located - * outside the low 32-bit range -- generic pass-through version. - */ -static inline phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size) -{ -	return phys_addr; -} - -/* - * Handle the special case of addresses the area aliased into the first - * 512 MiB of the processor's physical address space. These turn into either - * kseg0 or kseg1 addresses, depending on flags. - */ -static inline void __iomem *plat_ioremap(phys_t start, unsigned long size, -	unsigned long flags) -{ -	phys_addr_t start_offset; -	void __iomem *result = NULL; - -	/* Start by checking to see whether this is an aliased address */ -	start_offset = _dma_to_phys_offset_raw(start); - -	/* -	 * If: -	 * o	the memory is aliased into the first 512 MiB, and -	 * o	the start and end are in the same RAM bank, and -	 * o	we don't have a zero size or wrap around, and -	 * o	we are supposed to create an uncached mapping, -	 *	handle this is a kseg0 or kseg1 address -	 */ -	if (start_offset != 0) { -		phys_addr_t last; -		dma_addr_t dma_to_phys_offset; - -		last = start + size - 1; -		dma_to_phys_offset = -			_dma_to_phys_offset_raw(last) << IOR_DMA_SHIFT; - -		if (dma_to_phys_offset == start_offset && -			size != 0 && start <= last) { -			phys_t adjusted_start; -			adjusted_start = start + start_offset; -			if (flags == _CACHE_UNCACHED) -				result = (void __iomem *) (unsigned long) -					CKSEG1ADDR(adjusted_start); -			else -				result = (void __iomem *) (unsigned long) -					CKSEG0ADDR(adjusted_start); -		} -	} - -	return result; -} - -static inline int plat_iounmap(const volatile void __iomem *addr) -{ -	return 0; -} -#endif /* __ASM_MACH_POWERTV_IOREMAP_H */ diff --git a/arch/mips/include/asm/mach-powertv/irq.h b/arch/mips/include/asm/mach-powertv/irq.h deleted file mode 100644 index 4bd5d0c61a9..00000000000 --- a/arch/mips/include/asm/mach-powertv/irq.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ - -#ifndef _ASM_MACH_POWERTV_IRQ_H -#define _ASM_MACH_POWERTV_IRQ_H -#include <asm/mach-powertv/interrupts.h> - -#define MIPS_CPU_IRQ_BASE	ibase -#define NR_IRQS			127 -#endif diff --git a/arch/mips/include/asm/mach-powertv/powertv-clock.h b/arch/mips/include/asm/mach-powertv/powertv-clock.h deleted file mode 100644 index 6f3e9a0fcf8..00000000000 --- a/arch/mips/include/asm/mach-powertv/powertv-clock.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2009  Cisco Systems, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA - */ -/* - * Local definitions for the powertv PCI code - */ - -#ifndef _POWERTV_PCI_POWERTV_PCI_H_ -#define _POWERTV_PCI_POWERTV_PCI_H_ -extern int asic_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin); -extern int asic_pcie_init(void); -extern int asic_pcie_init(void); - -extern int log_level; -#endif diff --git a/arch/mips/include/asm/mach-powertv/war.h b/arch/mips/include/asm/mach-powertv/war.h deleted file mode 100644 index 7ac05ecc512..00000000000 --- a/arch/mips/include/asm/mach-powertv/war.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * This file is subject to the terms and conditions of the GNU General Public - * License.  See the file "COPYING" in the main directory of this archive - * for more details. - * - * This version for the PowerTV platform copied from the Malta version. - * - * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> - * Portions copyright (C) 2009 Cisco Systems, Inc. - */ -#ifndef __ASM_MACH_POWERTV_WAR_H -#define __ASM_MACH_POWERTV_WAR_H - -#define R4600_V1_INDEX_ICACHEOP_WAR	0 -#define R4600_V1_HIT_CACHEOP_WAR	0 -#define R4600_V2_HIT_CACHEOP_WAR	0 -#define R5432_CP0_INTERRUPT_WAR		0 -#define BCM1250_M3_WAR			0 -#define SIBYTE_1956_WAR			0 -#define MIPS4K_ICACHE_REFILL_WAR	1 -#define MIPS_CACHE_SYNC_WAR		1 -#define TX49XX_ICACHE_INDEX_INV_WAR	0 -#define RM9000_CDEX_SMP_WAR		0 -#define ICACHE_REFILLS_WORKAROUND_WAR	1 -#define R10000_LLSC_WAR			0 -#define MIPS34K_MISSED_ITLB_WAR		0 - -#endif /* __ASM_MACH_POWERTV_WAR_H */  | 
