- 26 8月, 2014 1 次提交
-
-
由 Brian Norris 提交于
There were several issues (of varying degree of importance) pointed out with this code late in the review cycle, yet the code was still merged. Let's rip it out for now and look at resubmitting at a later time. This reverts most of commit 4fbe66d9. Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 28 7月, 2014 3 次提交
-
-
由 Brian Norris 提交于
Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Acked-by: NFlorian Fainelli <f.fainelli@gmail.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Marc Carino 提交于
The BCM7xxx series of Broadcom SoCs are used primarily in set-top boxes. This patch adds machine support for the ARM-based Broadcom SoCs. Signed-off-by: NMarc Carino <marc.ceeeee@gmail.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
This patch adds SMP support for BCM281XX and BCM21664 family SoCs. This feature is controlled with a distinct config option such that an SMP-enabled multi-v7 binary can be configured to run these SoCs in uniprocessor mode. Since this SMP functionality is used for multiple Broadcom mobile chip families the config option is called ARCH_BCM_MOBILE_SMP (for lack of a better name). On SoCs of this type, the secondary core is not held in reset on power-on. Instead it loops in a ROM-based holding pen. To release it, one must write into a special register a jump address whose low-order bits have been replaced with a secondary core's id, then trigger an event with SEV. On receipt of an event, the ROM code will examine the register's contents, and if the low-order bits match its cpu id, it will clear them and write the value back to the register just prior to jumping to the address specified. The location of the special register is defined in the device tree using a "secondary-boot-reg" property in a node whose "enable-method" matches. Derived from code originally provided by Ray Jui <rjui@broadcom.com> Signed-off-by: NAlex Elder <elder@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
- 24 7月, 2014 1 次提交
-
-
由 Pawel Moll 提交于
A number of board files in arch/arm and arch/unicore32 explicitly reference platform_bus device as a parent for new platform devices. This is unnecessary, as platform device API guarantees that devices with NULL parent are going to by adopted by the mentioned "root" device. This patch removes or replaces with NULL such references. Signed-off-by: NPawel Moll <pawel.moll@arm.com> Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 6月, 2014 1 次提交
-
-
由 Rob Herring 提交于
The System Type menu is getting quite long with platforms and is inconsistent in handling of sub-arch specific options. Tidy up the menu by making platform options a menuconfig entry containing any platform specific config items. [arnd: change OMAP part according to suggestion from Tony Lindgren <tony@atomide.com>] Signed-off-by: NRob Herring <robh@kernel.org> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 30 5月, 2014 2 次提交
-
-
由 Russell King 提交于
Remove the explicit call to l2x0_of_init(), converting to the generic infrastructure instead. We can remove the explicit machine init too as this becomes identical to the generic version. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Will Deacon 提交于
When targetting ARCH_MULTIPLATFORM, we may include support for SoCs with PCI-capable devices (e.g. mach-virt with virtio-pci). This patch allows PCI support to be selected for these SoCs by selecting CONFIG_MIGHT_HAVE_PCI when CONFIG_ARCH_MULTIPLATFORM=y and removes the individual selections from multi-platform enabled SoCs. Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NWill Deacon <will.deacon@arm.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 22 5月, 2014 1 次提交
-
-
由 Russell King 提交于
They're u32, they're not unsigned long. The UL suffix is not required here. Acked-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 25 4月, 2014 13 次提交
-
-
由 Scott Branden 提交于
ARM_ERRATA_775420 needs to be enabled. A data cache maintenance operation which aborts, followed by an ISB, without any DSB in-between, might lead to deadlock. Affects: bug present in Cortex-A9 r3p0 and earlier. Fixed in r4p0. Cortex-A9 r3p0 is used in a multitude of Broadcom parts including the bcm21664, bcm281xx, 5301x families of devices. Signed-off-by: NScott Branden <sbranden@broadcom.com> Tested-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alexander Shiyan 提交于
Currently, Broadcom SoC options are shown whenever ARCH_MULTIPLATFORM is enabled. Restrict this so they are only seen when ARCH_MULTI_V6_V7 variants are enabled. Signed-off-by: NAlexander Shiyan <shc_work@mail.ru> [mporter: added commit log message] Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
These source files contain only level-2 cache initialization code, so rename them to make that fact more obvious. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
The block of comments in bcm_kona_do_smc() are somewhat confusing. This patch attempts to clarify what's going on. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Move the code that implements the "smc" call into a C function that uses inline assembly. This allows us to make that function private, and enables us to get rid of "arch/arm/mach-bcm/bcm_kona_smc_asm.S". Rename what had been the "buffer_addr" argument to be "buffer_phys" so it's consistent with other usage in this file. Since it's now easy to do, verify that r12 contains SEC_EXIT_NORMAL upon completion of the SMC. There really isn't a good way to handle the abnormal completion of a secure monitor request. Since "bcm_kona_smc.h" is now only included from C files, eliminate the #ifndef __ASSEMBLY__. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Clean up a few header file includes, eliminating a few that are not really needed and putting in their place some that are. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Add a new config option ARCH_BCM_MOBILE_L2_CACHE that allows support for level-2 cache to be enabled or disabled at build time for BCM218XX and BCM21664 family SoCs. Build support for SMC only if it's required (currently it's only required for to support level 2 cache control). If arch/arm/mach-bcm/kona.c gets compiled, ARCH_BCM_MOBILE_L2_CACHE must have been selected, which implies CONFIG_CACHE_L2X0 is set. There is therefore no need to check CONFIG_CACHE_L2X0 at the top of kona_l2_cache_init(), so get rid of that check. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
There's logic in bcm_kona_smc() to ensure __bcm_kona_smc() gets called on CPU 0; if already executing on CPU 0, that function is called directly. The direct call is not protected from interrupts, however, which is not safe. Note that smp_call_function_single() is designed to handle the case where the target cpu is the current one. It also gets a reference to the CPU and disables IRQs across the call. So we can simplify things and at the same time be protected against interrupts by calling smp_call_function_single() unconditionally. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Currently it is assumed that SEC_ROM_RET_OK is the only valid "good" result of a secure monitor request. However the values that can be returned by a secure monitor request are dependent on which service id was provided. We therefore should handle the result in a request-dependent way. The most natural way to do that is to have the initiator of the request--where bcm_kona_smc() is called--handle the result in a way appropriate to the request. An "smc" operation must be performed only on core 0, while the request can be initiated from any core. To pass back the request result, we add a new field to the bcm_kona_smc_data structure, and have bcm_kona_smc() return that value rather than 0. There's only one caller right now. Move the existing check of the result out of __bcm_kona_smc() and into the kona_l2_cache_init() where the SSAPI_ENABLE_L2_CACHE request is initiated. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
This patch just does some simple cleanup in "bcm_kona_smc.c": - Get rid of the secure_bridge_data structure. Instead, just define two globals that record the physical and virtual addresses of the SMC arguments buffer. Use "buffer" instead of "bounce" in their names. Drop of the erroneous __iomem annotation for the physical address. - Get rid of the initialized flag and just use a non-null buffer address to indicate that. - Get the size of the memory region when fetching the SMC arguments buffer location from the device tree. Use it to call ioremap() directly rather than requiring of_iomap() to go look it up again. - Do some additional validation on that memory region size. - Flush caches unconditionally in __bcm_kona_smc(); nothing supplies SSAPI_BRCM_START_VC_CORE as a service id. - Drop a needless initialization of "rc" in __bcm_kona_smc(). It also deletes most of the content of "bcm_kona_smc.h" because it's never actually used and is of questionable value anyway. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Several conditions in bcm_kona_smc_init() are handled with BUG_ON(). That function is capable of returning an error, so do that instead. Also, don't assume of_get_address() returns a valid pointer. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
The pointer used to pass parameters to an "smc" call is produced through a call to ioremap(). As such, we should be using functions like writel() to access it. Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <mporter@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
Currently CONFIG_ARCH_BCM_MOBILE is used to select all (both) Broadcom mobile SoC families. Instead, use that only as a config menu switch, and define specific symbols like ARCH_BCM_281XX to select a particular SoC family. If ARCH_BCM_MOBILE is selected, all of the SoCs will be selected by default, but this way each can be disabled individually as well. Note that BCM281xx and BCM21664 both require the SMC and L2 cache control code, so that code will be built based on ARCH_BCM_MOBILE. Signed-off-by: NAlex Elder <elder@linaro.org> [mporter: added ARM: to the description] Signed-off-by: NMatt Porter <mporter@linaro.org>
-
- 23 4月, 2014 1 次提交
-
-
由 Rob Herring 提交于
Multi-platform support implies all these options are already selected and individual platforms don't need to select them. Signed-off-by: NRob Herring <robh@kernel.org> Cc: Christian Daudt <bcm@fixthebug.org> Cc: Matt Porter <mporter@linaro.org> Cc: bcm-kernel-feedback-list@broadcom.com
-
- 14 3月, 2014 1 次提交
-
-
由 Markus Mayer 提交于
Add support for the Broadcom BCM21664 mobile SoC. It has two Cortex-A9 cores like the BCM281xx family of chips. BCM21664 and BCM281xx share many IP blocks in addition to the ARM cores. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
- 06 3月, 2014 8 次提交
-
-
由 Markus Mayer 提交于
Rename board_init() to bcm281xx_init(), so the name reflects the board specific nature of this function. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Markus Mayer 提交于
Re-order header files alphabetically. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Markus Mayer 提交于
Consolidate reboot code and remove unnecessary functions. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Markus Mayer 提交于
In preparation for future SoCs, move kona_l2_cache_init() from board specific board_bcm281xx.c to shared kona.c, so multiple SoC families can make use of it. Also change the return type to "void", since we never look at the return code anyway. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Alex Elder 提交于
This patch renames a few symbols that needlessly used "11351" rather than "281xx" in their names. Support for the bcm11351 board is being removed from the kernel, and the family of boards is more properly referred to as "bcm281xx". Signed-off-by: NAlex Elder <elder@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Hauke Mehrtens 提交于
Without this patch I am getting a unhandled fault exception like this one after "Freeing unused kernel memory": Freeing unused kernel memory: 1260K (c02c1000 - c03fc000) Unhandled fault: imprecise external abort (0x1c06) at 0xb6f89005 Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 The address which is here 0xb6f89005 changes from boot to boot, with a new build the changes are bigger. With kernel 3.10 I have also seen this fault at different places in the boot process, but starting with 3.11 they are always occurring after the "Freeing unused kernel memory" message. I never was able to completely boot to userspace without this handler. The abort code is constant 0x1c06. This fault just happens once in the boot process I have never seen it happing twice or more. I also tried changing the CPSR.A bit to 0 in init_early, with this code like Afzal suggested, but that did not change anything: asm volatile("mrs r12, cpsr\n" "bic r12, r12, #0x00000100\n" "msr cpsr_c, r12" ::: "r12", "cc", "memory"); Disabling the L2 cache by building with CONFIG_CACHE_L2X0 unset did not help. This workaround was copied from the vendor code including most of the comments. It says it they think this is caused by the CFE boot loader used on this device. I do not have any access to any datasheet or errata document to check this. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NChristian Daudt <bcm@fixthebug.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Hauke Mehrtens 提交于
This patch adds support for the BCM5301X/BCM470X SoCs with an ARM CPUs. Currently just booting to a shell is working and nothing else, no Ethernet, wifi, flash, ... I have some pending patches to make Ethernet work for this device. Mostly device tree support for bcma is missing. This SoC is used in small office and home router with Broadcom SoCs it's internal name is Northstar. This code should support the BCM4707, BCM4708, BCM4709, BCM53010, BCM53011 and BCM53012 SoC. It uses one or two ARM Cortex A9 Cores, some highlights are 2 PCIe 2.0 controllers, 4 Gigabit Ethernet MACs and a USB 3.0 host controller. This SoC uses a dual core CPU, but this is currently not implemented. More information about this SoC can be found here: http://www.anandtech.com/show/5925/broadcom-announces-bcm4708x-and-bcm5301x-socs-for-80211ac-routersSigned-off-by: NHauke Mehrtens <hauke@hauke-m.de> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NChristian Daudt <bcm@fixthebug.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
由 Richard Weinberger 提交于
The symbol is an orphan, get rid of it. Signed-off-by: NRichard Weinberger <richard@nod.at> Signed-off-by: NAlexander Shiyan <shc_work@mail.ru> Signed-off-by: NPaul Bolle <pebolle@tiscali.nl> Signed-off-by: NChristian Daudt <bcm@fixthebug.org> Signed-off-by: NMatt Porter <mporter@linaro.org>
-
- 25 2月, 2014 1 次提交
-
-
由 Markus Mayer 提交于
Move the bcm2835 board file into the mach-bcm directory. This allows us to get rid of the mach-bcm2835 directory with the associated Kconfig and Makefile. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> [swarren, adjust defconfig so ARCH_BCM2835 still gets enabled] Signed-off-by: NStephen Warren <swarren@wwwdotorg.org>
-
- 20 2月, 2014 1 次提交
-
-
由 Rob Herring 提交于
Multi-platform requires various kconfig options to be selected, so platforms don't need to select them individually. Signed-off-by: NRob Herring <robh@kernel.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@wwwdotorg.org> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 16 1月, 2014 1 次提交
-
-
由 Sherman Yin 提交于
Adds pinctrl driver for Broadcom Capri (BCM281xx) SoCs. v4: - PINCTRL selected in Kconfig, PINCTRL_CAPRI selected in bcm_defconfig - make use of regmap - change CAPRI_PIN_UPDATE from macro to inline function. - Handle pull-up strength arg in Ohm instead of enum v3: Re-work driver to be based on generic pin config. Moved config selection from Kconfig to bcm_defconfig. v2: Use hyphens instead of underscore in DT property names. Signed-off-by: NSherman Yin <syin@broadcom.com> Reviewed-by: NChristian Daudt <bcm@fixthebug.org> Reviewed-by: NMatt Porter <matt.porter@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 30 10月, 2013 2 次提交
-
-
由 Christian Daudt 提交于
Add HAVE_ARM_ARCH_TIMER to Broadcom Kconfig as it is required for some Mobile SoCs. Signed-off-by: NChristian Daudt <bcm@fixthebug.org> Reviewed-by: NMarkus Mayer <mmayer@broadcom.com> Reviewed-by: NMark Hambleton <mahamble@broadcom.com> Reviewed-by: NJames King <jamesk@broadcom.com>
-
由 Christian Daudt 提交于
Currently ARCH_BCM has been used for Broadcom Mobile V7 based SoCs. In order to allow other Broadcom SoCs to also use mach-bcm directory and files, this patch renames the original ARCH_BCM to ARCH_BCM_MOBILE, and uses ARCH_BCM to define any Broadcom chip residing in mach-bcm directory. Signed-off-by: NChristian Daudt <bcm@fixthebug.org> Acked-by: NOlof Johansson <olof@lixom.net> Changes from v2: - switch ARCH_MULTIPLATFORM from select to depends - remove 'default y' from BCM_MOBILE Changes from v1: - fix alpha ordering in dts/Makefile - break into 4 patches for separate subsys
-
- 02 10月, 2013 2 次提交
-
-
由 Christian Daudt 提交于
Add SoC model to DT_MACHINE_START string. Signed-off-by: NChristian Daudt <bcm@fixthebug.org> Reviewed-by: NMarkus Mayer <mmayer@broadcom.com> Reviewed-by: NMark Hambleton <mahamble@broadcom.com> Reviewed-by: NJames King <jamesk@broadcom.com>
-
由 Markus Mayer 提交于
Turn on the bcm281xx GPIO driver in the kernel configuration. Signed-off-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NChristian Daudt <csd@broadcom.com>
-
- 30 9月, 2013 1 次提交
-
-
由 Matt Porter 提交于
With arch/arm calling of_clk_init(NULL) and clocksource_of_init() this is no longer needed. The former is useful because we can make use of dummy fixed clocks for drivers until the bcm281xx common clock driver is ready. Signed-off-by: NMatt Porter <matt.porter@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Acked-by: NChristian Daudt <csd@broadcom.com>
-