21 Jun, 2012

3 commits

  • The Seaboard device tree supports all the features that the Seaboard
    board files support. Hence, there's no need to keep the board files
    around any more; all users should convert to device tree.

    MACH_KAEN and MACH_WARIO are also removed. While tegra-seaboard.dts
    doesn't support those explicitly, it would be trivial to create device
    trees for those boards if anyone cares.

    The Seaboard device tree is now compiled if Tegra2 support is enabled,
    rather than when Seaboard support is enabled.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • * Make ARCH_TEGRA select USE_OF; DT is the way forward.
    * Build board-dt-tegra*.c when the relevant Tegra SoC support is enabled,
    rather than requiring a specific config option for this.
    * The board-specific config options already build board-*-pinmux.o, and
    when booting from device tree these files are no longer needed, so we
    can remove some Makefile commands related to those files.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Update Makefile.boot to compile *.dts when the appropriate Tegra SoC
    support is enabled, rather than requiring Kconfig to list each board
    individually. Remove CONFIG_MACH_VENTANA now that it has no use.

    Signed-off-by: Stephen Warren

    Stephen Warren
     

12 Jun, 2012

1 commit

  • The Tegra ASoC machine drivers only depend on Tegra architecture support
    to compile, not specific board support. Remove Kconfig dependencies on
    any particular board. This is required since Kconfig options for boards
    are going away given the migration to device tree.

    Signed-off-by: Stephen Warren
    Acked-by: Mark Brown

    Stephen Warren
     

15 May, 2012

1 commit


09 May, 2012

1 commit

  • Tegra AHB Bus conforms to the AMBA Specification (Rev 2.0) Advanced
    High-performance Bus (AHB) architecture.

    The AHB Arbiter controls AHB bus master arbitration. This effectively
    forms a second level of arbitration for access to the memory
    controller through the AHB Slave Memory device. The AHB pre-fetch
    logic can be configured to enhance performance for devices doing
    sequential access. Each AHB master is assigned to either the high or
    low priority bin. Both Tegra20/30 have this AHB bus.

    Some of configuration params could be passed from DT too if needed.

    Signed-off-by: Hiroshi DOYU
    Acked-by: Arnd Bergmann
    Cc: Felipe Balbi
    Signed-off-by: Stephen Warren

    Hiroshi DOYU
     

11 Apr, 2012

1 commit

  • Tegra has 5 UARTS which could be used for low-level debug output. Commit
    fe26398 "ARM: tegra: uncompress.h: Choose a UART at runtime" implemented
    one method for the kernel to automatically determine which of these to
    use at run-time, so that the same DEBUG_LL-enabled kernel image could be
    used across multiple Tegra boards. The required bootloader-side setup for
    that option is implemented in NVIDIA's various downstream U-Boot branches,
    but the U-Boot maintainers have refused to accept it upstream.

    This change implements an alternative automatic UART selection option
    using ODMDATA. This is a 32-bit value programmed into Tegra's boot memory
    which provides a few pieces of basic board-specific information, including
    a field that indicates the console UART. Setting up this value is part of
    the standard Tegra boot architecture, and so requires no Tegra-specific
    hacks in the bootloader's UART driver.

    Note that in theory, the format of ODMDATA is board-specific. However, in
    practice all boards use the same location/size/values for the UART field.
    ODMDATA[19:18] (which drive the type of debug console) is more problematic,
    since some boards use value 2 for UART and others use 3. This patch just
    accepts either value; if this doesn't work well for a given board, I'd
    suggest simply not enabling this debug option when building for that board.

    Note that the kernel assumes the bootloader has already set up any required
    pinmux settings for the UART; there is no way the kernel can do this for
    itself prior to knowing which board it's running on. In practice, people
    using this feature are highly likely to be using bootloaders that have
    indeed configured the pinmux. This assumption existed prior to this patch.

    Signed-off-by: Stephen Warren

    Stephen Warren
     

28 Mar, 2012

2 commits

  • Pull "ARM: timer cleanup work" from Arnd Bergmann:
    "These are split out from the generic soc and driver updates because
    there was a lot of conflicting work by multiple people. Marc Zyngier
    worked on simplifying the "localtimer" interfaces, and some of the
    platforms are touching the same code as they move to device tree based
    booting.

    Signed-off-by: Arnd Bergmann "

    * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
    ARM: tegra: select USB_ULPI if USB is selected
    arm/tegra: pcie: fix return value of function
    ARM: ux500: fix compilation after local timer rework
    ARM: shmobile: remove additional __io() macro use
    ARM: local timers: make the runtime registration interface mandatory
    ARM: local timers: convert MSM to runtime registration interface
    ARM: local timers: convert exynos to runtime registration interface
    ARM: smp_twd: remove old local timer interface
    ARM: imx6q: convert to twd_local_timer_register() interface
    ARM: highbank: convert to twd_local_timer_register() interface
    ARM: ux500: convert to twd_local_timer_register() interface
    ARM: shmobile: convert to twd_local_timer_register() interface
    ARM: tegra: convert to twd_local_timer_register() interface
    ARM: plat-versatile: convert to twd_local_timer_register() interface
    ARM: OMAP4: convert to twd_local_timer_register() interface
    ARM: smp_twd: add device tree support
    ARM: smp_twd: add runtime registration support
    ARM: local timers: introduce a new registration interface
    ARM: smp_twd: make local_timer_stop a symbol instead of a #define
    ARM: mach-shmobile: default to no earlytimer
    ...

    Linus Torvalds
     
  • Pull "ARM: global cleanups" from Arnd Bergmann:
    "Quite a bit of code gets removed, and some stuff moved around, mostly
    the old samsung s3c24xx stuff. There should be no functional changes
    in this series otherwise. Some cleanups have dependencies on other
    arm-soc branches and will be sent in the second round.

    Signed-off-by: Arnd Bergmann "

    Fixed up trivial conflicts mainly due to #include's being changes on
    both sides.

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (121 commits)
    ep93xx: Remove unnecessary includes of ep93xx-regs.h
    ep93xx: Move EP93XX_SYSCON defines to SoC private header
    ep93xx: Move crunch code to mach-ep93xx directory
    ep93xx: Make syscon access functions private to SoC
    ep93xx: Configure GPIO ports in core code
    ep93xx: Move peripheral defines to local SoC header
    ep93xx: Convert the watchdog driver into a platform device.
    ep93xx: Use ioremap for backlight driver
    ep93xx: Move GPIO defines to gpio-ep93xx.h
    ep93xx: Don't use system controller defines in audio drivers
    ep93xx: Move PHYS_BASE defines to local SoC header file
    ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver
    ARM: EXYNOS: add clock registers for exynos4x12-cpufreq
    PM / devfreq: update the name of EXYNOS clock registers that were omitted
    PM / devfreq: update the name of EXYNOS clock register
    ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock
    ARM: EXYNOS: use static declaration on regarding clock
    ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs
    ARM: OMAP2+: Fix build error after merge
    ARM: S3C24XX: remove call to s3c24xx_setup_clocks
    ...

    Linus Torvalds
     

19 Mar, 2012

1 commit


06 Mar, 2012

1 commit


05 Mar, 2012

1 commit


27 Feb, 2012

1 commit

  • The ARM IP revisions in Tegra are:
    Tegra20: CPU r1p1, PL310 r2p0
    Tegra30: CPU A01=r2p7/>=A02=r2p9, NEON r2p3-50, PL310 r3p1-50

    Based on work by Olof Johansson, although the actual list of errata is
    somewhat different here, since I added a bunch more and removed one PL310
    erratum that doesn't seem applicable.

    Signed-off-by: Stephen Warren
    Cc: stable@vger.kernel.org
    Signed-off-by: Olof Johansson

    Stephen Warren
     

20 Dec, 2011

1 commit


18 Dec, 2011

3 commits

  • Add support for tegra30 SoC. This includes a device tree compatible type for
    this SoC ("nvidia,tegra30") and adds L2 cache initialization for this new SoC.
    The clock framework is still missing, which prevents most drivers from working.
    The basic IRQs are the same, so remove the dependency on
    CONFIG_ARCH_TEGRA_2x_SOC.

    Signed-off-by: Peter De Schrijver
    Acked-by: Stephen Warren
    Acked-by: Colin Cross
    Signed-off-by: Olof Johansson

    Peter De Schrijver
     
  • Tegra20 based boards will be handled by the current board-dt.c file. Tegra30
    based boards will be handled by a new board-dt-tegra30.c file. Hence rename
    the existing board-dt.c to board-dt-tegra20.c to reflect its use.

    Signed-off-by: Peter De Schrijver
    Acked-by: Stephen Warren
    Acked-by: Colin Cross
    Signed-off-by: Olof Johansson

    Peter De Schrijver
     
  • * add a dependency to ARCH_TEGRA_2x_SOC in Kconfig to all tegra20 based boards
    and TEGRA_PCI
    * make powergating dependent on ARCH_TEGRA_2x_SOC
    * remove dependency on ARCH_TEGRA_2x_SOC for clock.c

    Signed-off-by: Peter De Schrijver
    Acked-by: Stephen Warren
    Acked-by: Colin Cross
    Signed-off-by: Olof Johansson

    Peter De Schrijver
     

14 Oct, 2011

1 commit


30 Jul, 2011

1 commit

  • * 'next/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)
    arm/dt: tegra devicetree support
    arm/versatile: Add device tree support
    dt/irq: add irq_domain_generate_simple() helper
    irq: add irq_domain translation infrastructure
    dmaengine: imx-sdma: add device tree probe support
    dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name
    dmaengine: imx-sdma: use platform_device_id to identify sdma version
    mmc: sdhci-esdhc-imx: add device tree probe support
    mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host
    mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()
    mmc: sdhci-esdhc-imx: do not reference platform data after probe
    mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5
    net/fec: add device tree probe support
    net: ibm_newemac: convert it to use of_get_phy_mode
    dt/net: add helper function of_get_phy_mode
    net/fec: gasket needs to be enabled for some i.mx
    serial/imx: add device tree probe support
    serial/imx: get rid of the uses of cpu_is_mx1()
    arm/dt: Add dtb make rule
    arm/dt: Add skeleton dtsi file
    ...

    Linus Torvalds
     

28 Jul, 2011

1 commit

  • Everything required to populate NVIDIA Tegra devices from the device
    tree. This patch adds a new DT_MACHINE_DESC() which matches against
    a tegra20 device tree. So far it only registers the on-chip devices,
    but it will be refined in follow on patches to configure clocks and
    pin IO from the device tree also.

    Signed-off-by: Grant Likely

    Grant Likely
     

27 Jul, 2011

1 commit


21 Apr, 2011

1 commit

  • CONFIG_SND_SOC_TEGRA_WM8903 is useful for many Tegra boards. To avoid the
    ASoC tegra/Kconfig enumerating them all, instead have the Tegra machine
    Kconfig select MACH_HAS_SND_SOC_TEGRA_WM8903 where appropriate, and have
    SND_SOC_TEGRA_WM8903 depend on this.

    [Redid ASoC diff so it applies. -- broonie]

    Signed-off-by: Stephen Warren
    Acked-by: Olof Johansson
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Stephen Warren
     

25 Mar, 2011

1 commit

  • * 'for-linus' of git://android.git.kernel.org/kernel/tegra:
    ARM: tegra: harmony: initialize the TPS65862 PMIC
    ARM: tegra: update defconfig
    ARM: tegra: harmony: update PCI-e initialization sequence
    ARM: tegra: trimslice: enable MMC/SD slots
    ARM: tegra: enable new drivers in defconfig
    ARM: tegra: Add Toshiba AC100 support
    ARM: tegra: harmony: Set WM8903 gpio_base
    ARM: tegra: harmony: I2C-related portions of audio support
    ARM: tegra: harmony: register i2c devices
    ARM: tegra: seaboard: register i2c devices
    ARM: tegra: harmony: Beginnings of audio support
    ARM: tegra: create defines for SD-related GPIO names
    ARM: tegra: add devices.c entries for audio

    Linus Torvalds
     

17 Mar, 2011

1 commit

  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (172 commits)
    USB: Add support for SuperSpeed isoc endpoints
    xhci: Clean up cycle bit math used during stalls.
    xhci: Fix cycle bit calculation during stall handling.
    xhci: Update internal dequeue pointers after stalls.
    USB: Disable auto-suspend for USB 3.0 hubs.
    USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.
    xhci: Return canceled URBs immediately when host is halted.
    xhci: Fixes for suspend/resume of shared HCDs.
    xhci: Fix re-init on power loss after resume.
    xhci: Make roothub functions deal with device removal.
    xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports.
    xhci: Return a USB 3.0 hub descriptor for USB3 roothub.
    xhci: Register second xHCI roothub.
    xhci: Change xhci_find_slot_id_by_port() API.
    xhci: Refactor bus suspend state into a struct.
    xhci: Index with a port array instead of PORTSC addresses.
    USB: Set usb_hcd->state and flags for shared roothubs.
    usb: Make core allocate resources per PCI-device.
    usb: Store bus type in usb_hcd, not in driver flags.
    usb: Change usb_hcd->bandwidth_mutex to a pointer.
    ...

    Linus Torvalds
     

12 Mar, 2011

1 commit


08 Mar, 2011

1 commit


23 Feb, 2011

2 commits


21 Feb, 2011

1 commit

  • The frequency memory bus on Tegra can be adjusted without
    disabling accesses to memory by updating the memory
    configuration registers from a per-board table, and then
    changing the clock frequency. The clock controller and
    memory controller have an interlock that prevents the
    new memory registers from taking effect until the
    clock frequency change.

    Acked-by: Olof Johansson
    Signed-off-by: Colin Cross

    Colin Cross
     

11 Feb, 2011

1 commit


22 Oct, 2010

2 commits

  • Change-Id: Ibd0bcd46895eb88952b9db29e1f68572d39aae01
    Signed-off-by: Mike Rapoport
    Acked-by: Arnd Bergmann
    CC: Russell King
    CC: Gary King
    Signed-off-by: Colin Cross

    Mike Rapoport
     
  • The APB DMA block handles DMA transfers to and from some peripherals
    in the Tegra SOC. It reads from sequential addresses on the memory
    bus, and writes repeatedly to the same address on the APB bus.

    Two transfer modes are supported, oneshot for transferring a known
    size to or from a peripheral, and continuous for streaming data.
    In continuous mode, a callback occurs when the buffer is half full
    to allow the existing data to be handled and a new request queued.x

    v2 changes:
    dma API no longer uses PTR_ERR

    Signed-off-by: Erik Gilling
    Signed-off-by: Colin Cross

    Colin Cross
     

06 Aug, 2010

2 commits

  • v2: fixes from Mike Rapoport:
    - move gpio-names.h to arch/arm/mach-tegra
    fixes from Russell King
    - include linux/io.h and linux/gpio.h instead of asm/io.h
    and asm/gpio.h
    additional changes:
    - add macros to convert between irq and gpio numbers for platform data
    - change for_each_bit to for_each_set_bit in gpio.c
    v3:
    - minor bugfixes

    Signed-off-by: Colin Cross
    Signed-off-by: Erik Gilling

    Erik Gilling
     
  • v2: Fixes from Mike Rapoport
    - remove unused header files (mach/dma.h and mach/nand.h)
    - remove tegra 1 references from Makefile.boot

    v2: fixes from Russell King
    - remove mach/io.h include from mach/iomap.h
    - fix whitespace in Kconfig

    v2: from Colin Cross
    - fix invalid immediate in debug-macro.S

    v3:
    - allow selection of multiple boards

    Signed-off-by: Colin Cross
    Signed-off-by: Erik Gilling

    Erik Gilling