01 Apr, 2014

1 commit


25 Jan, 2014

2 commits

  • None of these files are actually using any __init type directives
    and hence don't need to include . Most are just a
    left over from __devinit and __cpuinit removal, or simply due to
    code getting copied from one driver to the next.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6320/

    Paul Gortmaker
     
  • BUG() can be a noop if CONFIG_BUG is not selected,
    leading to the following build problem on a randconfig:

    arch/mips/bcm63xx/cpu.c: In function 'detect_cpu_clock':
    arch/mips/bcm63xx/cpu.c:254:1: error: control reaches end of
    non-void function [-Werror=return-type]

    We fix this problem by replacing BUG() with panic() since it's
    best to handle the case of an unknown board instead of silently
    returning a random clock frequency.

    Signed-off-by: Markos Chandras
    Acked-by: Steven J. Hill
    Acked-by: Jonas Gorski
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/5932/

    Markos Chandras
     

23 Jan, 2014

9 commits


19 Sep, 2013

1 commit


06 Aug, 2013

1 commit


14 Jul, 2013

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "MIPS updates:

    - All the things that didn't make 3.10.
    - Removes the Windriver PPMC platform. Nobody will miss it.
    - Remove a workaround from kernel/irq/irqdomain.c which was there
    exclusivly for MIPS. Patch by Grant Likely.
    - More small improvments for the SEAD 3 platform
    - Improvments on the BMIPS / SMP support for the BCM63xx series.
    - Various cleanups of dead leftovers.
    - Platform support for the Cavium Octeon-based EdgeRouter Lite.

    Two large KVM patchsets didn't make it for this pull request because
    their respective authors are vacationing"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
    MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
    MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
    MIPS: SEAD3: Disable L2 cache on SEAD-3.
    MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
    MIPS: BCM63xx: Add SMP support to prom.c
    MIPS: define write{b,w,l,q}_relaxed
    MIPS: Expose missing pci_io{map,unmap} declarations
    MIPS: Malta: Update GCMP detection.
    Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
    MIPS: APSP: Remove
    SSB: Kconfig: Amend SSB_EMBEDDED dependencies
    MIPS: microMIPS: Fix improper definition of ISA exception bit.
    MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
    MIPS: Declare emulate_load_store_microMIPS as a static function.
    MIPS: Fix typos and cleanup comment
    MIPS: Cleanup indentation and whitespace
    MIPS: BMIPS: support booting from physical CPU other than 0
    MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
    MIPS: GIC: Fix gic_set_affinity infinite loop
    MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
    ...

    Linus Torvalds
     

13 Jul, 2013

1 commit


02 Jul, 2013

1 commit

  • Several drivers use the clk_{set,round}_rate() functions
    that need to be defined in the platform's clock code.
    The Broadcom BCM63xx platform hardcodes the clock rate so
    we create new clk_{set,round}_rate() functions
    which just return 0 like those in include/linux/clk.h
    for the common clock framework do.

    Also fixes the following build problem on a randconfig:
    drivers/built-in.o: In function `nop_usb_xceiv_probe':
    phy-nop.c:(.text+0x3ec26c): undefined reference to `clk_set_rate'

    Signed-off-by: Markos Chandras
    Acked-by: Steven J. Hill
    Acked-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5580/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

01 Jul, 2013

8 commits

  • BCM6328 has a OTP which tells us if the second core is available.

    Signed-off-by: Jonas Gorski
    Cc: linux-mips@linux-mips.org
    Cc: John Crispin
    Cc: Maxime Bizon
    Cc: Florian Fainelli
    Cc: Kevin Cernekee
    Patchwork: https://patchwork.linux-mips.org/patch/5490/
    Signed-off-by: Ralf Baechle

    Jonas Gorski
     
  • This involves two changes to the BSP code:

    1) register_smp_ops() for BMIPS SMP

    2) The CPU1 boot vector on some of the BCM63xx platforms conflicts with
    the special interrupt vector (IV). Move it to 0x8000_0380 at boot time,
    to resolve the conflict.

    Signed-off-by: Kevin Cernekee
    [jogo@openwrt.org: moved SMP ops registration into ifdef guard,
    changed ifdef guards to if (IS_ENABLED())]
    Signed-off-by: Jonas Gorski
    Cc: linux-mips@linux-mips.org
    Cc: John Crispin
    Cc: Maxime Bizon
    Cc: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/5489/
    Signed-off-by: Ralf Baechle

    Kevin Cernekee
     
  • Add support for the Netgear CVG834G and enable the two UARTs, Ethernet
    on the first MAC, PCI and the two leds.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Cc: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/5502/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Some boards may need to reset their external PHY or switch they are
    attached to, add a hook for doing this along with providing custom
    linux/gpio.h flags for doing this.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Cc: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/5501/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • The BCM3368 SoC uses a NVRAM format which is not compatible with the one
    used by CFE, provide a default MAC address which is suitable for use and
    which is the default one also being used by the bootloader on these
    chips.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Patchwork: https://patchwork.linux-mips.org/patch/5498/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Add the firmware header format which is used by Broadcom Cable Modem
    SoCs such as the BCM3368 SoC. We export the bcm_hcs firmware format
    structure because it is used by user-land tools to create firmware
    images for these SoCs and will later be used by a corresponding MTD
    parser.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Patchwork: https://patchwork.linux-mips.org/patch/5496/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • The Broadcom BCM3368 Cable Modem SoC is extremely similar to the
    existing BCM63xx DSL SoCs, in particular BCM6358, therefore little effort
    in the existing code base is required to get it supported. This patch adds
    support for the following on-chip peripherals:

    - two UARTS
    - GPIO
    - Ethernet
    - SPI
    - PCI
    - NOR Flash

    The most noticeable difference with 3368 is that it has its peripheral
    register at 0xfff8_0000 we check that separately in ioremap.h. Since
    3368 is identical to 6358 for its clock and reset bits, we use them
    verbatim.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Patchwork: https://patchwork.linux-mips.org/patch/5499/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • MIPS software IRQs 0 and 1 are used for interprocessor signaling (IPI)
    on BMIPS SMP. Make the board support code aware of them.

    Signed-off-by: Kevin Cernekee
    [jogo@openwrt.org: move sw irqs behind timer irq]
    Signed-off-by: Jonas Gorski
    Cc: linux-mips@linux-mips.org
    Cc: John Crispin
    Cc: Maxime Bizon
    Cc: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/5354/
    Signed-off-by: Ralf Baechle

    Kevin Cernekee
     

22 Jun, 2013

1 commit

  • Remove the bogus selects on USB-related symbols for 6345 and 6338, not
    only we do not yet support USB on BCM63XX, but they also cause the
    following warnings:

    warning: (BCM63XX_CPU_6338 && BCM63XX_CPU_6345) selects
    USB_OHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies
    (USB_SUPPORT && USB && USB_OHCI_HCD)
    warning: (BCM63XX_CPU_6338 && BCM63XX_CPU_6345) selects
    USB_OHCI_BIG_ENDIAN_DESC which has unmet direct dependencies
    (USB_SUPPORT && USB && USB_OHCI_HCD)
    make[4]: Leaving directory `/home/florian/dev/linux'

    Just get rid of these bogus Kconfig selects because neither 6345 nor
    6338 actually have built-in USB host controllers.

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Cc: jogo@openwrt.org
    Patchwork: http://patchwork.linux-mips.org/patch/5497/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     

14 Jun, 2013

1 commit

  • This patch adds support for the Broadcom BCM6345 SoC Ethernet. BCM6345
    has a slightly different and older DMA engine which requires the
    following modifications:

    - the width of the DMA channels on BCM6345 is 64 bytes vs 16 bytes,
    which means that the helpers enet_dma{c,s} need to account for this
    channel width and we can no longer use macros

    - BCM6345 DMA engine does not have any internal SRAM for transfering
    buffers

    - BCM6345 buffer allocation and flow control is not per-channel but
    global (done in RSET_ENETDMA)

    - the DMA engine bits are right-shifted by 3 compared to other DMA
    generations

    - the DMA enable/interrupt masks are a little different (we need to
    enabled more bits for 6345)

    - some register have the same meaning but are offsetted in the ENET_DMAC
    space so a lookup table is required to return the proper offset

    The MAC itself is identical and requires no modifications to work.

    Signed-off-by: Florian Fainelli
    Acked-by: Ralf Baechle
    Signed-off-by: David S. Miller

    Florian Fainelli
     

11 Jun, 2013

2 commits

  • Newer Broadcom BCM63xx SoCs: 6328, 6362 and 6368 have an integrated switch
    which needs to be driven slightly differently from the traditional
    external switches. This patch introduces changes in arch/mips/bcm63xx in order
    to:

    - register a bcm63xx_enetsw driver instead of bcm63xx_enet driver
    - update DMA channels configuration & state RAM base addresses
    - add a new platform data configuration knob to define the number of
    ports per switch/device and force link on some ports
    - define the required switch registers

    On the driver side, the following changes are required:

    - the switch ports need to be polled to ensure the link is up and
    running and RX/TX can properly work
    - basic switch configuration needs to be performed for the switch to
    forward packets to the CPU
    - update the MIB counters since the integrated

    Signed-off-by: Maxime Bizon
    Signed-off-by: Jonas Gorski
    Signed-off-by: David S. Miller

    Maxime Bizon
     
  • The current bcm63xx_enet driver always uses bcmenet_shared_base whenever
    it needs to access DMA channel configuration space or access the DMA
    channel state RAM. Split these register in 3 parts to be more accurate:

    - global DMA configuration
    - per DMA channel configuration space
    - per DMA channel state RAM space

    This is preliminary to support new chips where the global DMA
    configuration remains the same, but there is a varying number of DMA
    channels located at a different memory offset.

    Signed-off-by: Maxime Bizon
    Signed-off-by: Jonas Gorski
    Signed-off-by: David S. Miller

    Maxime Bizon
     

10 May, 2013

1 commit

  • Pull MIPS updates from Ralf Baechle:

    - More work on DT support for various platforms

    - Various fixes that were to late to make it straight into 3.9

    - Improved platform support, in particular the Netlogic XLR and
    BCM63xx, and the SEAD3 and Malta eval boards.

    - Support for several Ralink SOC families.

    - Complete support for the microMIPS ASE which basically reencodes the
    existing MIPS32/MIPS64 ISA to use non-constant size instructions.

    - Some fallout from LTO work which remove old cruft and will generally
    make the MIPS kernel easier to maintain and resistant to compiler
    optimization, even in absence of LTO.

    - KVM support. While MIPS has announced hardware virtualization
    extensions this KVM extension uses trap and emulate mode for
    virtualization of MIPS32. More KVM work to add support for VZ
    hardware virtualizaiton extensions and MIPS64 will probably already
    be merged for 3.11.

    Most of this has been sitting in -next for a long time. All defconfigs
    have been build or run time tested except three for which fixes are being
    sent by other maintainers.

    Semantic conflict with kvm updates done as per Ralf

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (118 commits)
    MIPS: Add new GIC clockevent driver.
    MIPS: Formatting clean-ups for clocksources.
    MIPS: Refactor GIC clocksource code.
    MIPS: Move 'gic_frequency' to common location.
    MIPS: Move 'gic_present' to common location.
    MIPS: MIPS16e: Add unaligned access support.
    MIPS: MIPS16e: Support handling of delay slots.
    MIPS: MIPS16e: Add instruction formats.
    MIPS: microMIPS: Optimise 'strnlen' core library function.
    MIPS: microMIPS: Optimise 'strlen' core library function.
    MIPS: microMIPS: Optimise 'strncpy' core library function.
    MIPS: microMIPS: Optimise 'memset' core library function.
    MIPS: microMIPS: Add configuration option for microMIPS kernel.
    MIPS: microMIPS: Disable LL/SC and fix linker bug.
    MIPS: microMIPS: Add vdso support.
    MIPS: microMIPS: Add unaligned access support.
    MIPS: microMIPS: Support handling of delay slots.
    MIPS: microMIPS: Add support for exception handling.
    MIPS: microMIPS: Floating point support.
    MIPS: microMIPS: Fix macro naming in micro-assembler.
    ...

    Linus Torvalds
     

08 May, 2013

8 commits


30 Apr, 2013

1 commit

  • Pull spi updates from Mark Brown:
    "A fairly quiet release for SPI, mainly driver work. A few highlights:

    - Supports bits per word compatibility checking in the core.
    - Allow use of the IP used in Freescale SPI controllers outside
    Freescale SoCs.
    - DMA support for the Atmel SPI driver.
    - New drivers for the BCM2835 and Tegra114"

    * tag 'spi-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (68 commits)
    spi-topcliff-pch: fix to use list_for_each_entry_safe() when delete list items
    spi-topcliff-pch: missing platform_driver_unregister() on error in pch_spi_init()
    ARM: dts: add pinctrl property for spi node for atmel SoC
    ARM: dts: add spi nodes for the atmel boards
    ARM: dts: add spi nodes for atmel SoC
    ARM: at91: add clocks for spi dt entries
    spi/spi-atmel: add dmaengine support
    spi/spi-atmel: add flag to controller data for lock operations
    spi/spi-atmel: add physical base address
    spi/sirf: fix MODULE_DEVICE_TABLE
    MAINTAINERS: Add git repository and update my address
    spi/s3c64xx: Check for errors in dmaengine prepare_transfer()
    spi/s3c64xx: Fix non-dmaengine usage
    spi: omap2-mcspi: fix error return code in omap2_mcspi_probe()
    spi/s3c64xx: let device core setup the default pin configuration
    MAINTAINERS: Update Grant's email address and maintainership
    spi: omap2-mcspi: Fix transfers if DMADEVICES is not set
    spi: s3c64xx: move to generic dmaengine API
    spi-gpio: init CS before spi_bitbang_setup()
    spi: spi-mpc512x-psc: let transmiter/receiver enabled when in xfer loop
    ...

    Linus Torvalds
     

08 Apr, 2013

1 commit