A few early MIPS fixes for 4.21:
- The Broadcom BCM63xx platform sees a fix for resetting the BCM6368 ethernet switch, and the removal of a platform device we've never had a driver for. - The Alchemy platform sees a few fixes for bitrot that occurred within the past few cycles. - We now enable vectored interrupt support for the MediaTek MT7620 SoC, which makes sense since they're supported by the SoC but in this case also works around a bug relating to the location of exception vectors when using a recent version of U-Boot. - The atomic64_fetch_*_relaxed() family of functions see a fix for a regression in MIPS64 kernels since v4.19. - Cavium Octeon III CN7xxx systems will now disable their RGMII interfaces rather than attempt to enable them & warn about the lack of support for doing so, as they did since initial CN7xxx ethernet support was added in v4.7. - The Microsemi/Microchip MSCC SoCs gain a MAINTAINERS entry. - .mailmap now provides consistency for Dengcheng Zhu's name & current email address. -----BEGIN PGP SIGNATURE----- iIsEABYIADMWIQRgLjeFAZEXQzy86/s+p5+stXUA3QUCXDEVXBUccGF1bC5idXJ0 b25AbWlwcy5jb20ACgkQPqefrLV1AN2F4QEA5lJSa7x2ZMjV/z/P174lotgsclrp EtcIf/Jx3IekXmsA/0LhuuC+6l7bq1DJRolsgeuhPTRBUM+8lvs8KXDVhzsA =ImMx -----END PGP SIGNATURE----- Merge tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux Pull MIPS fixes from Paul Burton: "A few early MIPS fixes for 4.21: - The Broadcom BCM63xx platform sees a fix for resetting the BCM6368 ethernet switch, and the removal of a platform device we've never had a driver for. - The Alchemy platform sees a few fixes for bitrot that occurred within the past few cycles. - We now enable vectored interrupt support for the MediaTek MT7620 SoC, which makes sense since they're supported by the SoC but in this case also works around a bug relating to the location of exception vectors when using a recent version of U-Boot. - The atomic64_fetch_*_relaxed() family of functions see a fix for a regression in MIPS64 kernels since v4.19. - Cavium Octeon III CN7xxx systems will now disable their RGMII interfaces rather than attempt to enable them & warn about the lack of support for doing so, as they did since initial CN7xxx ethernet support was added in v4.7. - The Microsemi/Microchip MSCC SoCs gain a MAINTAINERS entry. - .mailmap now provides consistency for Dengcheng Zhu's name & current email address" * tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: MIPS: OCTEON: mark RGMII interface disabled on OCTEON III MIPS: Fix a R10000_LLSC_WAR logic in atomic.h MIPS: BCM63XX: drop unused and broken DSP platform device mailmap: Update name spelling and email for Dengcheng Zhu MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8 MAINTAINERS: Add a maintainer for MSCC MIPS SoCs MIPS: Alchemy: update dma masks for devboard devices MIPS: Alchemy: update cpu-feature-overrides MIPS: Alchemy: drop DB1000 IrDA support bits MIPS: alchemy: cpu_all_mask is forbidden for clock event devices MIPS: BCM63XX: fix switch core reset on BCM6368
This commit is contained in:
Коммит
47f3f4eb78
5
.mailmap
5
.mailmap
|
@ -48,7 +48,10 @@ Corey Minyard <minyard@acm.org>
|
|||
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
||||
David Brownell <david-b@pacbell.net>
|
||||
David Woodhouse <dwmw2@shinybook.infradead.org>
|
||||
Deng-Cheng Zhu <dengcheng.zhu@mips.com> <dengcheng.zhu@imgtec.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dczhu@mips.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com>
|
||||
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
||||
Domen Puncer <domen@coderock.org>
|
||||
Douglas Gilbert <dougg@torque.net>
|
||||
|
|
|
@ -10016,8 +10016,9 @@ F: drivers/dma/at_xdmac.c
|
|||
|
||||
MICROSEMI MIPS SOCS
|
||||
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
|
||||
L: linux-mips@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Supported
|
||||
F: arch/mips/generic/board-ocelot.c
|
||||
F: arch/mips/configs/generic/board-ocelot.config
|
||||
F: arch/mips/boot/dts/mscc/
|
||||
|
|
|
@ -81,7 +81,7 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
|
|||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.rating = 1500,
|
||||
.set_next_event = au1x_rtcmatch2_set_next_event,
|
||||
.cpumask = cpu_all_mask,
|
||||
.cpumask = cpu_possible_mask,
|
||||
};
|
||||
|
||||
static struct irqaction au1x_rtcmatch2_irqaction = {
|
||||
|
|
|
@ -82,6 +82,8 @@ static int db1500_map_pci_irq(const struct pci_dev *d, u8 slot, u8 pin)
|
|||
return -1;
|
||||
}
|
||||
|
||||
static u64 au1xxx_all_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct resource alchemy_pci_host_res[] = {
|
||||
[0] = {
|
||||
.start = AU1500_PCI_PHYS_ADDR,
|
||||
|
@ -120,13 +122,11 @@ static struct resource au1100_lcd_resources[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static u64 au1100_lcd_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device au1100_lcd_device = {
|
||||
.name = "au1100-lcd",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1100_lcd_dmamask,
|
||||
.dma_mask = &au1xxx_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(au1100_lcd_resources),
|
||||
|
@ -170,6 +170,10 @@ static struct platform_device db1x00_codec_dev = {
|
|||
|
||||
static struct platform_device db1x00_audio_dev = {
|
||||
.name = "db1000-audio",
|
||||
.dev = {
|
||||
.dma_mask = &au1xxx_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
|
@ -338,13 +342,11 @@ static struct resource au1100_mmc0_resources[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1100_mmc0_dev = {
|
||||
.name = "au1xxx-mmc",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1xxx_mmc_dmamask,
|
||||
.dma_mask = &au1xxx_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1100_mmc_platdata[0],
|
||||
},
|
||||
|
@ -379,7 +381,7 @@ static struct platform_device db1100_mmc1_dev = {
|
|||
.name = "au1xxx-mmc",
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.dma_mask = &au1xxx_mmc_dmamask,
|
||||
.dma_mask = &au1xxx_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1100_mmc_platdata[1],
|
||||
},
|
||||
|
@ -389,58 +391,6 @@ static struct platform_device db1100_mmc1_dev = {
|
|||
|
||||
/******************************************************************************/
|
||||
|
||||
static void db1000_irda_set_phy_mode(int mode)
|
||||
{
|
||||
unsigned short mask = BCSR_RESETS_IRDA_MODE_MASK | BCSR_RESETS_FIR_SEL;
|
||||
|
||||
switch (mode) {
|
||||
case AU1000_IRDA_PHY_MODE_OFF:
|
||||
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_OFF);
|
||||
break;
|
||||
case AU1000_IRDA_PHY_MODE_SIR:
|
||||
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL);
|
||||
break;
|
||||
case AU1000_IRDA_PHY_MODE_FIR:
|
||||
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL |
|
||||
BCSR_RESETS_FIR_SEL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static struct au1k_irda_platform_data db1000_irda_platdata = {
|
||||
.set_phy_mode = db1000_irda_set_phy_mode,
|
||||
};
|
||||
|
||||
static struct resource au1000_irda_res[] = {
|
||||
[0] = {
|
||||
.start = AU1000_IRDA_PHYS_ADDR,
|
||||
.end = AU1000_IRDA_PHYS_ADDR + 0x0fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = AU1000_IRDA_TX_INT,
|
||||
.end = AU1000_IRDA_TX_INT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
[2] = {
|
||||
.start = AU1000_IRDA_RX_INT,
|
||||
.end = AU1000_IRDA_RX_INT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device db1000_irda_dev = {
|
||||
.name = "au1000-irda",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &db1000_irda_platdata,
|
||||
},
|
||||
.resource = au1000_irda_res,
|
||||
.num_resources = ARRAY_SIZE(au1000_irda_res),
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static struct ads7846_platform_data db1100_touch_pd = {
|
||||
.model = 7846,
|
||||
.vref_mv = 3300,
|
||||
|
@ -468,6 +418,8 @@ static struct platform_device db1100_spi_dev = {
|
|||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &db1100_spictl_pd,
|
||||
.dma_mask = &au1xxx_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -497,15 +449,10 @@ static struct platform_device *db1x00_devs[] = {
|
|||
&db1x00_audio_dev,
|
||||
};
|
||||
|
||||
static struct platform_device *db1000_devs[] = {
|
||||
&db1000_irda_dev,
|
||||
};
|
||||
|
||||
static struct platform_device *db1100_devs[] = {
|
||||
&au1100_lcd_device,
|
||||
&db1100_mmc0_dev,
|
||||
&db1100_mmc1_dev,
|
||||
&db1000_irda_dev,
|
||||
};
|
||||
|
||||
int __init db1000_dev_setup(void)
|
||||
|
@ -565,7 +512,6 @@ int __init db1000_dev_setup(void)
|
|||
d1 = 3; /* GPIO number, NOT irq! */
|
||||
s0 = AU1000_GPIO1_INT;
|
||||
s1 = AU1000_GPIO4_INT;
|
||||
platform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs));
|
||||
} else if ((board == BCSR_WHOAMI_PB1500) ||
|
||||
(board == BCSR_WHOAMI_PB1500R2)) {
|
||||
c0 = AU1500_GPIO203_INT;
|
||||
|
|
|
@ -153,6 +153,8 @@ int __init db1200_board_setup(void)
|
|||
|
||||
/******************************************************************************/
|
||||
|
||||
static u64 au1200_all_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct mtd_partition db1200_spiflash_parts[] = {
|
||||
{
|
||||
.name = "spi_flash",
|
||||
|
@ -324,13 +326,11 @@ static struct resource db1200_ide_res[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static u64 au1200_ide_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1200_ide_dev = {
|
||||
.name = "pata_platform",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1200_ide_dmamask,
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1200_ide_info,
|
||||
},
|
||||
|
@ -566,13 +566,11 @@ static struct resource au1200_mmc0_resources[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1200_mmc0_dev = {
|
||||
.name = "au1xxx-mmc",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1xxx_mmc_dmamask,
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1200_mmc_platdata[0],
|
||||
},
|
||||
|
@ -607,7 +605,7 @@ static struct platform_device pb1200_mmc1_dev = {
|
|||
.name = "au1xxx-mmc",
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.dma_mask = &au1xxx_mmc_dmamask,
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1200_mmc_platdata[1],
|
||||
},
|
||||
|
@ -657,13 +655,11 @@ static struct resource au1200_lcd_res[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static u64 au1200_lcd_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device au1200_lcd_dev = {
|
||||
.name = "au1200-lcd",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1200_lcd_dmamask,
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1200fb_pd,
|
||||
},
|
||||
|
@ -717,11 +713,9 @@ static struct au1550_spi_info db1200_spi_platdata = {
|
|||
.activate_cs = db1200_spi_cs_en,
|
||||
};
|
||||
|
||||
static u64 spi_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1200_spi_dev = {
|
||||
.dev = {
|
||||
.dma_mask = &spi_dmamask,
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1200_spi_platdata,
|
||||
},
|
||||
|
@ -766,6 +760,10 @@ static struct platform_device db1200_audio_dev = {
|
|||
static struct platform_device db1200_sound_dev = {
|
||||
/* name assigned later based on switch setting */
|
||||
.id = 1, /* PSC ID */
|
||||
.dev = {
|
||||
.dma_mask = &au1200_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device db1200_stac_dev = {
|
||||
|
|
|
@ -148,6 +148,8 @@ static void __init db1300_gpio_config(void)
|
|||
|
||||
/**********************************************************************/
|
||||
|
||||
static u64 au1300_all_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static void au1300_nand_cmd_ctrl(struct nand_chip *this, int cmd,
|
||||
unsigned int ctrl)
|
||||
{
|
||||
|
@ -438,6 +440,8 @@ static struct resource db1300_ide_res[] = {
|
|||
|
||||
static struct platform_device db1300_ide_dev = {
|
||||
.dev = {
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1300_ide_info,
|
||||
},
|
||||
.name = "pata_platform",
|
||||
|
@ -560,7 +564,9 @@ static struct resource au1300_sd1_res[] = {
|
|||
|
||||
static struct platform_device db1300_sd1_dev = {
|
||||
.dev = {
|
||||
.platform_data = &db1300_sd1_platdata,
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1300_sd1_platdata,
|
||||
},
|
||||
.name = "au1xxx-mmc",
|
||||
.id = 1,
|
||||
|
@ -625,7 +631,9 @@ static struct resource au1300_sd0_res[] = {
|
|||
|
||||
static struct platform_device db1300_sd0_dev = {
|
||||
.dev = {
|
||||
.platform_data = &db1300_sd0_platdata,
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1300_sd0_platdata,
|
||||
},
|
||||
.name = "au1xxx-mmc",
|
||||
.id = 0,
|
||||
|
@ -652,10 +660,18 @@ static struct platform_device db1300_i2sdma_dev = {
|
|||
|
||||
static struct platform_device db1300_sndac97_dev = {
|
||||
.name = "db1300-ac97",
|
||||
.dev = {
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device db1300_sndi2s_dev = {
|
||||
.name = "db1300-i2s",
|
||||
.dev = {
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
/**********************************************************************/
|
||||
|
@ -700,13 +716,12 @@ static struct resource au1300_lcd_res[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static u64 au1300_lcd_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1300_lcd_dev = {
|
||||
.name = "au1200-lcd",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = &au1300_lcd_dmamask,
|
||||
.dma_mask = &au1300_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1300fb_pd,
|
||||
},
|
||||
|
|
|
@ -82,6 +82,8 @@ int __init db1550_board_setup(void)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static u64 au1550_all_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct mtd_partition db1550_spiflash_parts[] = {
|
||||
{
|
||||
.name = "spi_flash",
|
||||
|
@ -269,11 +271,10 @@ static struct au1550_spi_info db1550_spi_platdata = {
|
|||
.activate_cs = db1550_spi_cs_en,
|
||||
};
|
||||
|
||||
static u64 spi_dmamask = DMA_BIT_MASK(32);
|
||||
|
||||
static struct platform_device db1550_spi_dev = {
|
||||
.dev = {
|
||||
.dma_mask = &spi_dmamask,
|
||||
.dma_mask = &au1550_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &db1550_spi_platdata,
|
||||
},
|
||||
|
@ -397,10 +398,18 @@ static struct platform_device db1550_i2sdma_dev = {
|
|||
|
||||
static struct platform_device db1550_sndac97_dev = {
|
||||
.name = "db1550-ac97",
|
||||
.dev = {
|
||||
.dma_mask = &au1550_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device db1550_sndi2s_dev = {
|
||||
.name = "db1550-i2s",
|
||||
.dev = {
|
||||
.dma_mask = &au1550_all_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
},
|
||||
};
|
||||
|
||||
/**********************************************************************/
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
|
||||
setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
|
||||
dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
|
||||
dev-wdt.o dev-usb-usbd.o
|
||||
setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
|
||||
dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
|
||||
dev-usb-usbd.o
|
||||
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
||||
|
||||
obj-y += boards/
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <bcm63xx_nvram.h>
|
||||
#include <bcm63xx_dev_pci.h>
|
||||
#include <bcm63xx_dev_enet.h>
|
||||
#include <bcm63xx_dev_dsp.h>
|
||||
#include <bcm63xx_dev_flash.h>
|
||||
#include <bcm63xx_dev_hsspi.h>
|
||||
#include <bcm63xx_dev_pcmcia.h>
|
||||
|
@ -289,14 +288,6 @@ static struct board_info __initdata board_96348gw_10 = {
|
|||
.has_pccard = 1,
|
||||
.has_ehci0 = 1,
|
||||
|
||||
.has_dsp = 1,
|
||||
.dsp = {
|
||||
.gpio_rst = 6,
|
||||
.gpio_int = 34,
|
||||
.cs = 2,
|
||||
.ext_irq = 2,
|
||||
},
|
||||
|
||||
.leds = {
|
||||
{
|
||||
.name = "adsl-fail",
|
||||
|
@ -401,14 +392,6 @@ static struct board_info __initdata board_96348gw = {
|
|||
|
||||
.has_ohci0 = 1,
|
||||
|
||||
.has_dsp = 1,
|
||||
.dsp = {
|
||||
.gpio_rst = 6,
|
||||
.gpio_int = 34,
|
||||
.ext_irq = 2,
|
||||
.cs = 2,
|
||||
},
|
||||
|
||||
.leds = {
|
||||
{
|
||||
.name = "adsl-fail",
|
||||
|
@ -898,9 +881,6 @@ int __init board_register_devices(void)
|
|||
if (board.has_usbd)
|
||||
bcm63xx_usbd_register(&board.usbd);
|
||||
|
||||
if (board.has_dsp)
|
||||
bcm63xx_dsp_register(&board.dsp);
|
||||
|
||||
/* Generate MAC address for WLAN and register our SPROM,
|
||||
* do this after registering enet devices
|
||||
*/
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
/*
|
||||
* Broadcom BCM63xx VoIP DSP registration
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Copyright (C) 2009 Florian Fainelli <florian@openwrt.org>
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <bcm63xx_cpu.h>
|
||||
#include <bcm63xx_dev_dsp.h>
|
||||
#include <bcm63xx_regs.h>
|
||||
#include <bcm63xx_io.h>
|
||||
|
||||
static struct resource voip_dsp_resources[] = {
|
||||
{
|
||||
.start = -1, /* filled at runtime */
|
||||
.end = -1, /* filled at runtime */
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.start = -1, /* filled at runtime */
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device bcm63xx_voip_dsp_device = {
|
||||
.name = "bcm63xx-voip-dsp",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(voip_dsp_resources),
|
||||
.resource = voip_dsp_resources,
|
||||
};
|
||||
|
||||
int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd)
|
||||
{
|
||||
struct bcm63xx_dsp_platform_data *dpd;
|
||||
u32 val;
|
||||
|
||||
/* Get the memory window */
|
||||
val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1));
|
||||
val &= MPI_CSBASE_BASE_MASK;
|
||||
voip_dsp_resources[0].start = val;
|
||||
voip_dsp_resources[0].end = val + 0xFFFFFFF;
|
||||
voip_dsp_resources[1].start = pd->ext_irq;
|
||||
|
||||
/* copy given platform data */
|
||||
dpd = bcm63xx_voip_dsp_device.dev.platform_data;
|
||||
memcpy(dpd, pd, sizeof (*pd));
|
||||
|
||||
return platform_device_register(&bcm63xx_voip_dsp_device);
|
||||
}
|
|
@ -120,7 +120,7 @@
|
|||
#define BCM6368_RESET_DSL 0
|
||||
#define BCM6368_RESET_SAR SOFTRESET_6368_SAR_MASK
|
||||
#define BCM6368_RESET_EPHY SOFTRESET_6368_EPHY_MASK
|
||||
#define BCM6368_RESET_ENETSW 0
|
||||
#define BCM6368_RESET_ENETSW SOFTRESET_6368_ENETSW_MASK
|
||||
#define BCM6368_RESET_PCM SOFTRESET_6368_PCM_MASK
|
||||
#define BCM6368_RESET_MPI SOFTRESET_6368_MPI_MASK
|
||||
#define BCM6368_RESET_PCIE 0
|
||||
|
|
|
@ -266,7 +266,8 @@ static cvmx_helper_interface_mode_t __cvmx_get_mode_cn7xxx(int interface)
|
|||
case 3:
|
||||
return CVMX_HELPER_INTERFACE_MODE_LOOP;
|
||||
case 4:
|
||||
return CVMX_HELPER_INTERFACE_MODE_RGMII;
|
||||
/* TODO: Implement support for AGL (RGMII). */
|
||||
return CVMX_HELPER_INTERFACE_MODE_DISABLED;
|
||||
default:
|
||||
return CVMX_HELPER_INTERFACE_MODE_DISABLED;
|
||||
}
|
||||
|
|
|
@ -313,7 +313,7 @@ static __inline__ long atomic64_fetch_##op##_relaxed(long i, atomic64_t * v) \
|
|||
{ \
|
||||
long result; \
|
||||
\
|
||||
if (kernel_uses_llsc && R10000_LLSC_WAR) { \
|
||||
if (kernel_uses_llsc) { \
|
||||
long temp; \
|
||||
\
|
||||
__asm__ __volatile__( \
|
||||
|
|
|
@ -75,10 +75,12 @@
|
|||
#define cpu_dcache_line_size() 32
|
||||
#define cpu_icache_line_size() 32
|
||||
#define cpu_scache_line_size() 0
|
||||
#define cpu_tcache_line_size() 0
|
||||
|
||||
#define cpu_has_perf_cntr_intr_bit 0
|
||||
#define cpu_has_vz 0
|
||||
#define cpu_has_msa 0
|
||||
#define cpu_has_ufr 0
|
||||
#define cpu_has_fre 0
|
||||
#define cpu_has_cdmm 0
|
||||
#define cpu_has_small_pages 0
|
||||
|
@ -88,5 +90,6 @@
|
|||
#define cpu_has_badinstr 0
|
||||
#define cpu_has_badinstrp 0
|
||||
#define cpu_has_contextconfig 0
|
||||
#define cpu_has_perf 0
|
||||
|
||||
#endif /* __ASM_MACH_AU1X00_CPU_FEATURE_OVERRIDES_H */
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __BCM63XX_DSP_H
|
||||
#define __BCM63XX_DSP_H
|
||||
|
||||
struct bcm63xx_dsp_platform_data {
|
||||
unsigned gpio_rst;
|
||||
unsigned gpio_int;
|
||||
unsigned cs;
|
||||
unsigned ext_irq;
|
||||
};
|
||||
|
||||
int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd);
|
||||
|
||||
#endif /* __BCM63XX_DSP_H */
|
|
@ -7,7 +7,6 @@
|
|||
#include <linux/leds.h>
|
||||
#include <bcm63xx_dev_enet.h>
|
||||
#include <bcm63xx_dev_usb_usbd.h>
|
||||
#include <bcm63xx_dev_dsp.h>
|
||||
|
||||
/*
|
||||
* flash mapping
|
||||
|
@ -31,7 +30,6 @@ struct board_info {
|
|||
unsigned int has_ohci0:1;
|
||||
unsigned int has_ehci0:1;
|
||||
unsigned int has_usbd:1;
|
||||
unsigned int has_dsp:1;
|
||||
unsigned int has_uart0:1;
|
||||
unsigned int has_uart1:1;
|
||||
|
||||
|
@ -43,9 +41,6 @@ struct board_info {
|
|||
/* USB config */
|
||||
struct bcm63xx_usbd_platform_data usbd;
|
||||
|
||||
/* DSP config */
|
||||
struct bcm63xx_dsp_platform_data dsp;
|
||||
|
||||
/* GPIO LEDs */
|
||||
struct gpio_led leds[5];
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ choice
|
|||
|
||||
config SOC_MT7620
|
||||
bool "MT7620/8"
|
||||
select CPU_MIPSR2_IRQ_VI
|
||||
select HAVE_PCI
|
||||
|
||||
config SOC_MT7621
|
||||
|
|
Загрузка…
Ссылка в новой задаче