diff options
author | Maxime Bizon <mbizon@freebox.fr> | 2011-11-04 14:09:35 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2011-12-07 17:03:04 -0500 |
commit | 04712f3ff6e3a42ef658b55b0f99478f4f0682e3 (patch) | |
tree | ade99b0b4345eae3b3986965c23ab4a488f394eb /arch/mips/include | |
parent | 6224892c819e96898534c107c72b80a1a8e75abf (diff) |
MIPS: BCM63XX: Add support for bcm6368 CPU.
Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2892/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include')
-rw-r--r-- | arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | 99 | ||||
-rw-r--r-- | arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h | 2 | ||||
-rw-r--r-- | arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h | 109 | ||||
-rw-r--r-- | arch/mips/include/asm/mach-bcm63xx/ioremap.h | 4 |
4 files changed, 212 insertions, 2 deletions
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h index 46f03322e2ca..23403a32c158 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #define BCM6345_CPU_ID 0x6345 | 13 | #define BCM6345_CPU_ID 0x6345 |
14 | #define BCM6348_CPU_ID 0x6348 | 14 | #define BCM6348_CPU_ID 0x6348 |
15 | #define BCM6358_CPU_ID 0x6358 | 15 | #define BCM6358_CPU_ID 0x6358 |
16 | #define BCM6368_CPU_ID 0x6368 | ||
16 | 17 | ||
17 | void __init bcm63xx_cpu_init(void); | 18 | void __init bcm63xx_cpu_init(void); |
18 | u16 __bcm63xx_get_cpu_id(void); | 19 | u16 __bcm63xx_get_cpu_id(void); |
@@ -71,6 +72,19 @@ unsigned int bcm63xx_get_cpu_freq(void); | |||
71 | # define BCMCPU_IS_6358() (0) | 72 | # define BCMCPU_IS_6358() (0) |
72 | #endif | 73 | #endif |
73 | 74 | ||
75 | #ifdef CONFIG_BCM63XX_CPU_6368 | ||
76 | # ifdef bcm63xx_get_cpu_id | ||
77 | # undef bcm63xx_get_cpu_id | ||
78 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
79 | # define BCMCPU_RUNTIME_DETECT | ||
80 | # else | ||
81 | # define bcm63xx_get_cpu_id() BCM6368_CPU_ID | ||
82 | # endif | ||
83 | # define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) | ||
84 | #else | ||
85 | # define BCMCPU_IS_6368() (0) | ||
86 | #endif | ||
87 | |||
74 | #ifndef bcm63xx_get_cpu_id | 88 | #ifndef bcm63xx_get_cpu_id |
75 | #error "No CPU support configured" | 89 | #error "No CPU support configured" |
76 | #endif | 90 | #endif |
@@ -307,6 +321,47 @@ enum bcm63xx_regs_set { | |||
307 | #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) | 321 | #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) |
308 | 322 | ||
309 | 323 | ||
324 | /* | ||
325 | * 6368 register sets base address | ||
326 | */ | ||
327 | #define BCM_6368_DSL_LMEM_BASE (0xdeadbeef) | ||
328 | #define BCM_6368_PERF_BASE (0xb0000000) | ||
329 | #define BCM_6368_TIMER_BASE (0xb0000040) | ||
330 | #define BCM_6368_WDT_BASE (0xb000005c) | ||
331 | #define BCM_6368_UART0_BASE (0xb0000100) | ||
332 | #define BCM_6368_UART1_BASE (0xb0000120) | ||
333 | #define BCM_6368_GPIO_BASE (0xb0000080) | ||
334 | #define BCM_6368_SPI_BASE (0xdeadbeef) | ||
335 | #define BCM_6368_SPI2_BASE (0xb0000800) | ||
336 | #define BCM_6368_UDC0_BASE (0xdeadbeef) | ||
337 | #define BCM_6368_OHCI0_BASE (0xb0001600) | ||
338 | #define BCM_6368_OHCI_PRIV_BASE (0xdeadbeef) | ||
339 | #define BCM_6368_USBH_PRIV_BASE (0xb0001700) | ||
340 | #define BCM_6368_MPI_BASE (0xb0001000) | ||
341 | #define BCM_6368_PCMCIA_BASE (0xb0001054) | ||
342 | #define BCM_6368_SDRAM_REGS_BASE (0xdeadbeef) | ||
343 | #define BCM_6368_M2M_BASE (0xdeadbeef) | ||
344 | #define BCM_6368_DSL_BASE (0xdeadbeef) | ||
345 | #define BCM_6368_ENET0_BASE (0xdeadbeef) | ||
346 | #define BCM_6368_ENET1_BASE (0xdeadbeef) | ||
347 | #define BCM_6368_ENETDMA_BASE (0xb0006800) | ||
348 | #define BCM_6368_ENETDMAC_BASE (0xb0006a00) | ||
349 | #define BCM_6368_ENETDMAS_BASE (0xb0006c00) | ||
350 | #define BCM_6368_ENETSW_BASE (0xb0f00000) | ||
351 | #define BCM_6368_EHCI0_BASE (0xb0001500) | ||
352 | #define BCM_6368_SDRAM_BASE (0xdeadbeef) | ||
353 | #define BCM_6368_MEMC_BASE (0xb0001200) | ||
354 | #define BCM_6368_DDR_BASE (0xb0001280) | ||
355 | #define BCM_6368_ATM_BASE (0xdeadbeef) | ||
356 | #define BCM_6368_XTM_BASE (0xb0001800) | ||
357 | #define BCM_6368_XTMDMA_BASE (0xb0005000) | ||
358 | #define BCM_6368_XTMDMAC_BASE (0xb0005200) | ||
359 | #define BCM_6368_XTMDMAS_BASE (0xb0005400) | ||
360 | #define BCM_6368_PCM_BASE (0xb0004000) | ||
361 | #define BCM_6368_PCMDMA_BASE (0xb0005800) | ||
362 | #define BCM_6368_PCMDMAC_BASE (0xb0005a00) | ||
363 | #define BCM_6368_PCMDMAS_BASE (0xb0005c00) | ||
364 | |||
310 | 365 | ||
311 | extern const unsigned long *bcm63xx_regs_base; | 366 | extern const unsigned long *bcm63xx_regs_base; |
312 | 367 | ||
@@ -410,6 +465,9 @@ static inline unsigned long bcm63xx_regset_address(enum bcm63xx_regs_set set) | |||
410 | #ifdef CONFIG_BCM63XX_CPU_6358 | 465 | #ifdef CONFIG_BCM63XX_CPU_6358 |
411 | __GEN_RSET(6358) | 466 | __GEN_RSET(6358) |
412 | #endif | 467 | #endif |
468 | #ifdef CONFIG_BCM63XX_CPU_6368 | ||
469 | __GEN_RSET(6368) | ||
470 | #endif | ||
413 | #endif | 471 | #endif |
414 | /* unreached */ | 472 | /* unreached */ |
415 | return 0; | 473 | return 0; |
@@ -574,6 +632,47 @@ enum bcm63xx_irq { | |||
574 | #define BCM_6358_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) | 632 | #define BCM_6358_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) |
575 | #define BCM_6358_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) | 633 | #define BCM_6358_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) |
576 | 634 | ||
635 | /* | ||
636 | * 6368 irqs | ||
637 | */ | ||
638 | #define BCM_6368_HIGH_IRQ_BASE (IRQ_INTERNAL_BASE + 32) | ||
639 | |||
640 | #define BCM_6368_TIMER_IRQ (IRQ_INTERNAL_BASE + 0) | ||
641 | #define BCM_6368_UART0_IRQ (IRQ_INTERNAL_BASE + 2) | ||
642 | #define BCM_6368_UART1_IRQ (IRQ_INTERNAL_BASE + 3) | ||
643 | #define BCM_6368_DSL_IRQ (IRQ_INTERNAL_BASE + 4) | ||
644 | #define BCM_6368_ENET0_IRQ 0 | ||
645 | #define BCM_6368_ENET1_IRQ 0 | ||
646 | #define BCM_6368_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 15) | ||
647 | #define BCM_6368_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5) | ||
648 | #define BCM_6368_EHCI0_IRQ (IRQ_INTERNAL_BASE + 7) | ||
649 | #define BCM_6368_PCMCIA_IRQ 0 | ||
650 | #define BCM_6368_ENET0_RXDMA_IRQ 0 | ||
651 | #define BCM_6368_ENET0_TXDMA_IRQ 0 | ||
652 | #define BCM_6368_ENET1_RXDMA_IRQ 0 | ||
653 | #define BCM_6368_ENET1_TXDMA_IRQ 0 | ||
654 | #define BCM_6368_PCI_IRQ (IRQ_INTERNAL_BASE + 13) | ||
655 | #define BCM_6368_ATM_IRQ 0 | ||
656 | #define BCM_6368_ENETSW_RXDMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 0) | ||
657 | #define BCM_6368_ENETSW_RXDMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 1) | ||
658 | #define BCM_6368_ENETSW_RXDMA2_IRQ (BCM_6368_HIGH_IRQ_BASE + 2) | ||
659 | #define BCM_6368_ENETSW_RXDMA3_IRQ (BCM_6368_HIGH_IRQ_BASE + 3) | ||
660 | #define BCM_6368_ENETSW_TXDMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 4) | ||
661 | #define BCM_6368_ENETSW_TXDMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 5) | ||
662 | #define BCM_6368_ENETSW_TXDMA2_IRQ (BCM_6368_HIGH_IRQ_BASE + 6) | ||
663 | #define BCM_6368_ENETSW_TXDMA3_IRQ (BCM_6368_HIGH_IRQ_BASE + 7) | ||
664 | #define BCM_6368_XTM_IRQ (IRQ_INTERNAL_BASE + 11) | ||
665 | #define BCM_6368_XTM_DMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 8) | ||
666 | |||
667 | #define BCM_6368_PCM_DMA0_IRQ (BCM_6368_HIGH_IRQ_BASE + 30) | ||
668 | #define BCM_6368_PCM_DMA1_IRQ (BCM_6368_HIGH_IRQ_BASE + 31) | ||
669 | #define BCM_6368_EXT_IRQ0 (IRQ_INTERNAL_BASE + 20) | ||
670 | #define BCM_6368_EXT_IRQ1 (IRQ_INTERNAL_BASE + 21) | ||
671 | #define BCM_6368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 22) | ||
672 | #define BCM_6368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 23) | ||
673 | #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) | ||
674 | #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) | ||
675 | |||
577 | extern const int *bcm63xx_irqs; | 676 | extern const int *bcm63xx_irqs; |
578 | 677 | ||
579 | #define __GEN_CPU_IRQ_TABLE(__cpu) \ | 678 | #define __GEN_CPU_IRQ_TABLE(__cpu) \ |
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h index 3999ec0aa7f5..3d5de96d4036 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h | |||
@@ -14,6 +14,8 @@ static inline unsigned long bcm63xx_gpio_count(void) | |||
14 | return 8; | 14 | return 8; |
15 | case BCM6345_CPU_ID: | 15 | case BCM6345_CPU_ID: |
16 | return 16; | 16 | return 16; |
17 | case BCM6368_CPU_ID: | ||
18 | return 38; | ||
17 | case BCM6348_CPU_ID: | 19 | case BCM6348_CPU_ID: |
18 | default: | 20 | default: |
19 | return 37; | 21 | return 37; |
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h index 2b3a2d6bdb03..50057507c4e7 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h | |||
@@ -83,6 +83,37 @@ | |||
83 | CKCTL_6358_USBSU_EN | \ | 83 | CKCTL_6358_USBSU_EN | \ |
84 | CKCTL_6358_EPHY_EN) | 84 | CKCTL_6358_EPHY_EN) |
85 | 85 | ||
86 | #define CKCTL_6368_VDSL_QPROC_EN (1 << 2) | ||
87 | #define CKCTL_6368_VDSL_AFE_EN (1 << 3) | ||
88 | #define CKCTL_6368_VDSL_BONDING_EN (1 << 4) | ||
89 | #define CKCTL_6368_VDSL_EN (1 << 5) | ||
90 | #define CKCTL_6368_PHYMIPS_EN (1 << 6) | ||
91 | #define CKCTL_6368_SWPKT_USB_EN (1 << 7) | ||
92 | #define CKCTL_6368_SWPKT_SAR_EN (1 << 8) | ||
93 | #define CKCTL_6368_SPI_CLK_EN (1 << 9) | ||
94 | #define CKCTL_6368_USBD_CLK_EN (1 << 10) | ||
95 | #define CKCTL_6368_SAR_CLK_EN (1 << 11) | ||
96 | #define CKCTL_6368_ROBOSW_CLK_EN (1 << 12) | ||
97 | #define CKCTL_6368_UTOPIA_CLK_EN (1 << 13) | ||
98 | #define CKCTL_6368_PCM_CLK_EN (1 << 14) | ||
99 | #define CKCTL_6368_USBH_CLK_EN (1 << 15) | ||
100 | #define CKCTL_6368_DISABLE_GLESS_EN (1 << 16) | ||
101 | #define CKCTL_6368_NAND_CLK_EN (1 << 17) | ||
102 | #define CKCTL_6368_IPSEC_CLK_EN (1 << 17) | ||
103 | |||
104 | #define CKCTL_6368_ALL_SAFE_EN (CKCTL_6368_SWPKT_USB_EN | \ | ||
105 | CKCTL_6368_SWPKT_SAR_EN | \ | ||
106 | CKCTL_6368_SPI_CLK_EN | \ | ||
107 | CKCTL_6368_USBD_CLK_EN | \ | ||
108 | CKCTL_6368_SAR_CLK_EN | \ | ||
109 | CKCTL_6368_ROBOSW_CLK_EN | \ | ||
110 | CKCTL_6368_UTOPIA_CLK_EN | \ | ||
111 | CKCTL_6368_PCM_CLK_EN | \ | ||
112 | CKCTL_6368_USBH_CLK_EN | \ | ||
113 | CKCTL_6368_DISABLE_GLESS_EN | \ | ||
114 | CKCTL_6368_NAND_CLK_EN | \ | ||
115 | CKCTL_6368_IPSEC_CLK_EN) | ||
116 | |||
86 | /* System PLL Control register */ | 117 | /* System PLL Control register */ |
87 | #define PERF_SYS_PLL_CTL_REG 0x8 | 118 | #define PERF_SYS_PLL_CTL_REG 0x8 |
88 | #define SYS_PLL_SOFT_RESET 0x1 | 119 | #define SYS_PLL_SOFT_RESET 0x1 |
@@ -92,17 +123,22 @@ | |||
92 | #define PERF_IRQMASK_6345_REG 0xc | 123 | #define PERF_IRQMASK_6345_REG 0xc |
93 | #define PERF_IRQMASK_6348_REG 0xc | 124 | #define PERF_IRQMASK_6348_REG 0xc |
94 | #define PERF_IRQMASK_6358_REG 0xc | 125 | #define PERF_IRQMASK_6358_REG 0xc |
126 | #define PERF_IRQMASK_6368_REG 0x20 | ||
95 | 127 | ||
96 | /* Interrupt Status register */ | 128 | /* Interrupt Status register */ |
97 | #define PERF_IRQSTAT_6338_REG 0x10 | 129 | #define PERF_IRQSTAT_6338_REG 0x10 |
98 | #define PERF_IRQSTAT_6345_REG 0x10 | 130 | #define PERF_IRQSTAT_6345_REG 0x10 |
99 | #define PERF_IRQSTAT_6348_REG 0x10 | 131 | #define PERF_IRQSTAT_6348_REG 0x10 |
100 | #define PERF_IRQSTAT_6358_REG 0x10 | 132 | #define PERF_IRQSTAT_6358_REG 0x10 |
133 | #define PERF_IRQSTAT_6368_REG 0x28 | ||
101 | 134 | ||
102 | /* External Interrupt Configuration register */ | 135 | /* External Interrupt Configuration register */ |
103 | #define PERF_EXTIRQ_CFG_REG_6338 0x14 | 136 | #define PERF_EXTIRQ_CFG_REG_6338 0x14 |
104 | #define PERF_EXTIRQ_CFG_REG_6348 0x14 | 137 | #define PERF_EXTIRQ_CFG_REG_6348 0x14 |
105 | #define PERF_EXTIRQ_CFG_REG_6358 0x14 | 138 | #define PERF_EXTIRQ_CFG_REG_6358 0x14 |
139 | #define PERF_EXTIRQ_CFG_REG_6368 0x18 | ||
140 | |||
141 | #define PERF_EXTIRQ_CFG_REG2_6368 0x1c | ||
106 | 142 | ||
107 | /* for 6348 only */ | 143 | /* for 6348 only */ |
108 | #define EXTIRQ_CFG_SENSE_6348(x) (1 << (x)) | 144 | #define EXTIRQ_CFG_SENSE_6348(x) (1 << (x)) |
@@ -126,6 +162,7 @@ | |||
126 | 162 | ||
127 | /* Soft Reset register */ | 163 | /* Soft Reset register */ |
128 | #define PERF_SOFTRESET_REG 0x28 | 164 | #define PERF_SOFTRESET_REG 0x28 |
165 | #define PERF_SOFTRESET_6368_REG 0x10 | ||
129 | 166 | ||
130 | #define SOFTRESET_6338_SPI_MASK (1 << 0) | 167 | #define SOFTRESET_6338_SPI_MASK (1 << 0) |
131 | #define SOFTRESET_6338_ENET_MASK (1 << 2) | 168 | #define SOFTRESET_6338_ENET_MASK (1 << 2) |
@@ -166,6 +203,15 @@ | |||
166 | SOFTRESET_6348_ACLC_MASK | \ | 203 | SOFTRESET_6348_ACLC_MASK | \ |
167 | SOFTRESET_6348_ADSLMIPSPLL_MASK) | 204 | SOFTRESET_6348_ADSLMIPSPLL_MASK) |
168 | 205 | ||
206 | #define SOFTRESET_6368_SPI_MASK (1 << 0) | ||
207 | #define SOFTRESET_6368_MPI_MASK (1 << 3) | ||
208 | #define SOFTRESET_6368_EPHY_MASK (1 << 6) | ||
209 | #define SOFTRESET_6368_SAR_MASK (1 << 7) | ||
210 | #define SOFTRESET_6368_ENETSW_MASK (1 << 10) | ||
211 | #define SOFTRESET_6368_USBS_MASK (1 << 11) | ||
212 | #define SOFTRESET_6368_USBH_MASK (1 << 12) | ||
213 | #define SOFTRESET_6368_PCM_MASK (1 << 13) | ||
214 | |||
169 | /* MIPS PLL control register */ | 215 | /* MIPS PLL control register */ |
170 | #define PERF_MIPSPLLCTL_REG 0x34 | 216 | #define PERF_MIPSPLLCTL_REG 0x34 |
171 | #define MIPSPLLCTL_N1_SHIFT 20 | 217 | #define MIPSPLLCTL_N1_SHIFT 20 |
@@ -421,6 +467,44 @@ | |||
421 | #define GPIO_MODE_6358_SERIAL_LED (1 << 10) | 467 | #define GPIO_MODE_6358_SERIAL_LED (1 << 10) |
422 | #define GPIO_MODE_6358_UTOPIA (1 << 12) | 468 | #define GPIO_MODE_6358_UTOPIA (1 << 12) |
423 | 469 | ||
470 | #define GPIO_MODE_6368_ANALOG_AFE_0 (1 << 0) | ||
471 | #define GPIO_MODE_6368_ANALOG_AFE_1 (1 << 1) | ||
472 | #define GPIO_MODE_6368_SYS_IRQ (1 << 2) | ||
473 | #define GPIO_MODE_6368_SERIAL_LED_DATA (1 << 3) | ||
474 | #define GPIO_MODE_6368_SERIAL_LED_CLK (1 << 4) | ||
475 | #define GPIO_MODE_6368_INET_LED (1 << 5) | ||
476 | #define GPIO_MODE_6368_EPHY0_LED (1 << 6) | ||
477 | #define GPIO_MODE_6368_EPHY1_LED (1 << 7) | ||
478 | #define GPIO_MODE_6368_EPHY2_LED (1 << 8) | ||
479 | #define GPIO_MODE_6368_EPHY3_LED (1 << 9) | ||
480 | #define GPIO_MODE_6368_ROBOSW_LED_DAT (1 << 10) | ||
481 | #define GPIO_MODE_6368_ROBOSW_LED_CLK (1 << 11) | ||
482 | #define GPIO_MODE_6368_ROBOSW_LED0 (1 << 12) | ||
483 | #define GPIO_MODE_6368_ROBOSW_LED1 (1 << 13) | ||
484 | #define GPIO_MODE_6368_USBD_LED (1 << 14) | ||
485 | #define GPIO_MODE_6368_NTR_PULSE (1 << 15) | ||
486 | #define GPIO_MODE_6368_PCI_REQ1 (1 << 16) | ||
487 | #define GPIO_MODE_6368_PCI_GNT1 (1 << 17) | ||
488 | #define GPIO_MODE_6368_PCI_INTB (1 << 18) | ||
489 | #define GPIO_MODE_6368_PCI_REQ0 (1 << 19) | ||
490 | #define GPIO_MODE_6368_PCI_GNT0 (1 << 20) | ||
491 | #define GPIO_MODE_6368_PCMCIA_CD1 (1 << 22) | ||
492 | #define GPIO_MODE_6368_PCMCIA_CD2 (1 << 23) | ||
493 | #define GPIO_MODE_6368_PCMCIA_VS1 (1 << 24) | ||
494 | #define GPIO_MODE_6368_PCMCIA_VS2 (1 << 25) | ||
495 | #define GPIO_MODE_6368_EBI_CS2 (1 << 26) | ||
496 | #define GPIO_MODE_6368_EBI_CS3 (1 << 27) | ||
497 | #define GPIO_MODE_6368_SPI_SSN2 (1 << 28) | ||
498 | #define GPIO_MODE_6368_SPI_SSN3 (1 << 29) | ||
499 | #define GPIO_MODE_6368_SPI_SSN4 (1 << 30) | ||
500 | #define GPIO_MODE_6368_SPI_SSN5 (1 << 31) | ||
501 | |||
502 | |||
503 | #define GPIO_BASEMODE_6368_REG 0x38 | ||
504 | #define GPIO_BASEMODE_6368_UART2 0x1 | ||
505 | #define GPIO_BASEMODE_6368_GPIO 0x0 | ||
506 | #define GPIO_BASEMODE_6368_MASK 0x7 | ||
507 | /* those bits must be kept as read in gpio basemode register*/ | ||
424 | 508 | ||
425 | /************************************************************************* | 509 | /************************************************************************* |
426 | * _REG relative to RSET_ENET | 510 | * _REG relative to RSET_ENET |
@@ -631,7 +715,9 @@ | |||
631 | * _REG relative to RSET_USBH_PRIV | 715 | * _REG relative to RSET_USBH_PRIV |
632 | *************************************************************************/ | 716 | *************************************************************************/ |
633 | 717 | ||
634 | #define USBH_PRIV_SWAP_REG 0x0 | 718 | #define USBH_PRIV_SWAP_6358_REG 0x0 |
719 | #define USBH_PRIV_SWAP_6368_REG 0x1c | ||
720 | |||
635 | #define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4 | 721 | #define USBH_PRIV_SWAP_EHCI_ENDN_SHIFT 4 |
636 | #define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT) | 722 | #define USBH_PRIV_SWAP_EHCI_ENDN_MASK (1 << USBH_PRIV_SWAP_EHCI_ENDN_SHIFT) |
637 | #define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3 | 723 | #define USBH_PRIV_SWAP_EHCI_DATA_SHIFT 3 |
@@ -641,7 +727,13 @@ | |||
641 | #define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0 | 727 | #define USBH_PRIV_SWAP_OHCI_DATA_SHIFT 0 |
642 | #define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT) | 728 | #define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT) |
643 | 729 | ||
644 | #define USBH_PRIV_TEST_REG 0x24 | 730 | #define USBH_PRIV_TEST_6358_REG 0x24 |
731 | #define USBH_PRIV_TEST_6368_REG 0x14 | ||
732 | |||
733 | #define USBH_PRIV_SETUP_6368_REG 0x28 | ||
734 | #define USBH_PRIV_SETUP_IOC_SHIFT 4 | ||
735 | #define USBH_PRIV_SETUP_IOC_MASK (1 << USBH_PRIV_SETUP_IOC_SHIFT) | ||
736 | |||
645 | 737 | ||
646 | 738 | ||
647 | /************************************************************************* | 739 | /************************************************************************* |
@@ -837,6 +929,19 @@ | |||
837 | #define DMIPSPLLCFG_N2_SHIFT 29 | 929 | #define DMIPSPLLCFG_N2_SHIFT 29 |
838 | #define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT) | 930 | #define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT) |
839 | 931 | ||
932 | #define DDR_DMIPSPLLCFG_6368_REG 0x20 | ||
933 | #define DMIPSPLLCFG_6368_P1_SHIFT 0 | ||
934 | #define DMIPSPLLCFG_6368_P1_MASK (0xf << DMIPSPLLCFG_6368_P1_SHIFT) | ||
935 | #define DMIPSPLLCFG_6368_P2_SHIFT 4 | ||
936 | #define DMIPSPLLCFG_6368_P2_MASK (0xf << DMIPSPLLCFG_6368_P2_SHIFT) | ||
937 | #define DMIPSPLLCFG_6368_NDIV_SHIFT 16 | ||
938 | #define DMIPSPLLCFG_6368_NDIV_MASK (0x1ff << DMIPSPLLCFG_6368_NDIV_SHIFT) | ||
939 | |||
940 | #define DDR_DMIPSPLLDIV_6368_REG 0x24 | ||
941 | #define DMIPSPLLDIV_6368_MDIV_SHIFT 0 | ||
942 | #define DMIPSPLLDIV_6368_MDIV_MASK (0xff << DMIPSPLLDIV_6368_MDIV_SHIFT) | ||
943 | |||
944 | |||
840 | /************************************************************************* | 945 | /************************************************************************* |
841 | * _REG relative to RSET_M2M | 946 | * _REG relative to RSET_M2M |
842 | *************************************************************************/ | 947 | *************************************************************************/ |
diff --git a/arch/mips/include/asm/mach-bcm63xx/ioremap.h b/arch/mips/include/asm/mach-bcm63xx/ioremap.h index e3fe04dc50bd..ef94ba73646e 100644 --- a/arch/mips/include/asm/mach-bcm63xx/ioremap.h +++ b/arch/mips/include/asm/mach-bcm63xx/ioremap.h | |||
@@ -18,6 +18,10 @@ static inline int is_bcm63xx_internal_registers(phys_t offset) | |||
18 | if (offset >= 0xfff00000) | 18 | if (offset >= 0xfff00000) |
19 | return 1; | 19 | return 1; |
20 | break; | 20 | break; |
21 | case BCM6368_CPU_ID: | ||
22 | if (offset >= 0xb0000000 && offset < 0xb1000000) | ||
23 | return 1; | ||
24 | break; | ||
21 | } | 25 | } |
22 | return 0; | 26 | return 0; |
23 | } | 27 | } |