14 Oct, 2015

1 commit

  • Currently we have one device created to handle all (maximum 2) eDMAs in the
    system.
    With this change all eDMA instance will have it's own device/driver.
    This change is needed for further cleanups in the eDMA driver stack since
    the one device/driver to handle all eDMAs in the system was not flexible
    enough and prevents the upcoming work.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Sekhar Nori
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     

15 Aug, 2015

1 commit


15 Nov, 2014

1 commit

  • In order to have subsytem agnostic media bus format definitions we've
    moved media bus definition to include/uapi/linux/media-bus-format.h and
    prefixed values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT.

    Reference new definitions in all platform drivers.

    Signed-off-by: Boris Brezillon
    Acked-by: Hans Verkuil
    Acked-by: Sakari Ailus
    Acked-by: Sekhar Nori
    Acked-by: Lad, Prabhakar
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Boris BREZILLON
     

22 May, 2014

2 commits


06 Mar, 2014

1 commit


17 Jan, 2014

1 commit


09 Jan, 2014

1 commit


26 Dec, 2013

1 commit

  • As the davinci-gpio driver is migrated to use irqdomain
    there is no need to pass the irq base for the gpio driver.
    This patch removes this variable from davinci_gpio_platform_data
    and also the refrences from the machine file.

    Signed-off-by: Lad, Prabhakar
    Acked-by: Linus Walleij
    Signed-off-by: Sekhar Nori

    Lad, Prabhakar
     

05 Dec, 2013

2 commits

  • …rnel/git/nsekhar/linux-davinci into fixes

    From Sekhar Nori:
    This pull request includes a patch
    to align platform code to driver's
    usage of platform_get_resource_byname()

    This is needed to start successfully probing
    audio again. The regression was introduced
    in v3.13 merge window.

    * tag 'davinci-fixes-for-v3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
    ARM: davinci: Fix McASP mem resource names

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • The ASoC McASP driver looks for the mem resources by name
    "mpu" and "dat" regions.
    Change/add the needed name for the mem resources so the driver can pick the
    correct resource.

    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Sekhar Nori

    Peter Ujfalusi
     

21 Nov, 2013

1 commit


24 Sep, 2013

1 commit

  • DaVinci GPIO driver now uses platform device model.
    Add a GPIO platform register API to convert the
    traditional DaVinci SoCs to use the new model.

    While at it, also group related include files together
    wherever that was not the case.

    Signed-off-by: Philip Avinash
    Acked-by: Linus Walleij
    Signed-off-by: Lad, Prabhakar
    [nsekhar@ti.com: move function declaration to local header,
    simplify commit message, merge SoC specific
    portions from other patches into this patch]
    Signed-off-by: Sekhar Nori

    Philip Avinash
     

23 Aug, 2013

1 commit

  • …it/nsekhar/linux-davinci into next/soc

    From Sekhar Nori:

    DaVinci SoC updates for v3.12
    -----------------------------

    This set of SoC updates contains changes to the
    way UART clock is handled to enabled DT-boot to
    obtain UART clock frequency instead of relying
    on DT-binding being supplied. Similarly handling
    of MDIO clock is fixed to make it easier to support
    MDIO in DT-boot. Finally there is patch to remove
    now unnecessary setting of wake-up capable flag for
    RTC.

    * tag 'davinci-for-v3.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
    ARM: davinci: fix clock lookup for mdio device
    ARM: davinci: da8xx: remove hard coding of rtc device wakeup
    ARM: davinci: serial: remove davinci_serial_setup_clk()
    ARM: davinci: serial: get rid of davinci_uart_config
    ARM: davinci: da8xx: remove da8xx_uart_clk_enable
    ARM: davinci: uart: move to devid based clk_get

    Signed-off-by: Kevin Hilman <khilman@linaro.org>

    Kevin Hilman
     

22 Aug, 2013

3 commits

  • This patch removes the clock alias for mdio device and adds a entry
    in clock lookup table, this entry can now be used by both DT and
    non-DT case.

    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Sekhar Nori

    Lad, Prabhakar
     
  • Get rid of davinci_serial_setup_clk() since its not called
    from multiple places now. Instead initialize clock in
    davinci_serial_init() itself. This also helps get rid of
    "serial_dev" member of struct davinci_soc_info.

    Signed-off-by: Manjunathappa, Prakash
    Suggested-by: Sekhar Nori
    [nsekhar@ti.com: split removal of davinci_serial_setup_clk()
    into a separate patch.]
    Signed-off-by: Sekhar Nori

    Manjunathappa, Prakash
     
  • "struct davinci_uart_config" was introduced to specify
    UART ports brought out or enabled on the board. But
    none of the boards use it for that purpose and we are
    not going to add anymore board files, so remove the
    structure.

    Signed-off-by: Manjunathappa, Prakash
    Suggested-by: Sekhar Nori
    [nsekhar@ti.com: split patch to remove davinci_serial_setup_clk()
    changes.]
    Signed-off-by: Sekhar Nori

    Manjunathappa, Prakash
     

22 Jul, 2013

1 commit

  • For modules having single clock, clk_get should be done with dev_id.
    But current davinci implementation handles multiple instances
    of the UART devices with single platform_device_register. Hence clk_get
    is based on con_id rather than dev_id, this is not correct. Do
    platform_device_register for each instance and clk_get on dev_id.

    Signed-off-by: Manjunathappa, Prakash
    [nsekhar@ti.com: actually stop using con_id in clk_get(), squash the
    patch adding OF aux data into this one]
    Signed-off-by: Sekhar Nori

    Manjunathappa, Prakash
     

16 Jul, 2013

1 commit

  • Make file local variables static in mach-davinci.
    This fixes sparse warnings of the form:

    arch/arm/mach-davinci/dm355.c:863:27: warning: symbol 'dm355_venc_pdata' was not declared. Should it be static?

    Cc: Prabhakar Lad
    Acked-by: Prabhakar Lad
    Signed-off-by: Sekhar Nori

    Sekhar Nori
     

24 Jun, 2013

1 commit

  • Adds support for parsing the TI EDMA DT data into the required EDMA
    private API platform data. Enables runtime PM support to initialize
    the EDMA hwmod. Enables build on OMAP.

    Changes by Joel:
    * Setup default one-to-one mapping for queue_priority and queue_tc
    mapping as discussed in [1].
    * Split out xbar stuff to separate patch. [1]
    * Dropped unused DT helper to convert to array
    * Fixed dangling pointer issue with Sekhar's changes

    [1] https://patchwork.kernel.org/patch/2226761/

    Signed-off-by: Matt Porter
    [nsekhar@ti.com: fix checkpatch errors, build breakages. Introduce
    edma_setup_info_from_dt() as part of that effort]
    Signed-off-by: Joel A Fernandes
    Acked-by: Arnd Bergmann
    Signed-off-by: Sekhar Nori

    Matt Porter
     

18 Jun, 2013

1 commit

  • Move mach-davinci/dma.c to common/edma.c so it can be used
    by OMAP (specifically AM33xx) as well.

    Signed-off-by: Matt Porter
    Acked-by: Chris Ball # davinci_mmc.c
    Acked-by: Mark Brown
    Acked-by: Olof Johansson
    [nsekhar@ti.com: dropped davinci sffsdr changes]
    Signed-off-by: Sekhar Nori

    Matt Porter
     

03 May, 2013

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "This branch contains part 1 of the platform updates for 3.10. Among
    the highlights:

    - Support for the new Atmel Cortex-A5 based platforms (SAMA5D3)
    - New support for CSR SiRFatlas6 SoCs
    - A handful of updates for NVidia T114 (a.k.a. Tegra 4)
    - A bunch of updates for the shmobile platforms
    - A handful of updates for davinci
    - A few updates for Qualcomm MSM
    - Plus a handful of other patches, defconfig updates, etc."

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (135 commits)
    ARM: tegra: pm: fix build error w/o PM_SLEEP
    ARM: davinci: ensure global variables are declared
    ARM: davinci: sram.c: fix incorrect type in assignment
    ARM: davinci: da8xx dt: make file local symbols static
    ARM: davinci: da8xx: add remoteproc support
    ARM: socfpga: Upgrade clk driver for socfpga to make use of dts clock entries
    ARM: socfpga: Add clock entries into device tree
    ARM: socfpga: Enable soft reset
    ARM: EXYNOS: replace cpumask by the corresponding macro
    ARM: EXYNOS: handle properly the return values
    ARM: EXYNOS: factor out the idle states
    ARM: OMAP4: Enable fix for Cortex-A9 erratas
    ARM: OMAP2+: Export SoC information to userspace
    ARM: OMAP2+: SoC name and revision unification
    ARM: OMAP2+: Move common part of late init into common function
    ARM: tegra: pm: remove duplicated include from pm.c
    ARM: davinci: da850: override mmc DT node device name
    ARM: davinci: da850: add mmc DT entries
    mmc: davinci_mmc: add DT support
    ARM: SAMSUNG: check processor type before cache restoration in resume
    ...

    Linus Torvalds
     

15 Apr, 2013

2 commits

  • Create platform devices for various video modules like venc,osd,
    vpbe and v4l2 driver for dm365.

    Signed-off-by: Lad, Prabhakar
    Acked-by: Sekhar Nori
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • By default the VPSS clocks were enabled in capture driver
    for davinci family which creates duplicates for dm355/dm365/dm644x.
    This patch adds support to enable the VPSS clocks in VPSS driver,
    which avoids duplication of code and also adding clock aliases.
    This patch uses PM runtime API to enable/disable clock, instead
    of DaVinci clock framework. con_ids for master and slave clocks of
    vpss is added in pm_domain.
    This patch cleanups the VPSS clock enabling in the capture driver,
    and also removes the clock alias in machine file. Along side adds
    a vpss slave clock for DM365 as mentioned by Sekhar
    (https://patchwork.kernel.org/patch/1221261/).
    The Suspend/Resume in dm644x_ccdc.c which enabled/disabled the VPSS clock
    is now implemented as part of the VPSS driver.

    Signed-off-by: Lad, Prabhakar
    Acked-by: Sekhar Nori
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     

03 Apr, 2013

1 commit

  • Remove specifying mmc controller IP version information via platform
    data, instead specify device name so that driver derives it from
    platform_device_id table. Also change the clock node name to match
    the changed dev_id.
    Tested on da850-evm to make sure driver loads without clk_get failures.

    Signed-off-by: Manjunathappa, Prakash
    Reviewed-by: Sekhar Nori
    Acked-by: Arnd Bergmann
    Acked-by: Chris Ball
    Signed-off-by: Sekhar Nori

    Manjunathappa, Prakash
     

27 Oct, 2012

1 commit

  • The current davinci init sets up SRAM in iotables. There has been
    an observed failure to boot a da850 with 128K specified in the
    iotable.

    Make the davinci sram allocator do an ioremap of the region
    specified by the entries in davinci_soc_info before registering
    with gen_pool_add_virt(). Remove all iotable SRAM mappings and
    SRAM_VIRT.

    Regression tested suspend/resume on AM180x EVM.

    Signed-off-by: Ben Gardiner
    Signed-off-by: Matt Porter
    Signed-off-by: Sekhar Nori

    Ben Gardiner
     

09 Oct, 2012

1 commit

  • Pull sound updates from Takashi Iwai:
    "This contains pretty many small commits covering fairly large range of
    files in sound/ directory. Partly because of additional API support
    and partly because of constantly developed ASoC and ARM stuff.

    Some highlights:

    - Introduced the helper function and documentation for exposing the
    channel map via control API, as discussed in Plumbers; most of PCI
    drivers are covered, will follow more drivers later

    - Most of drivers have been replaced with the new PM callbacks (if
    the bus is supported)

    - HD-audio controller got the support of runtime PM and the support
    of D3 clock-stop. Also changing the power_save option in sysfs
    kicks off immediately to enable / disable the power-save mode.

    - Another significant code change in HD-audio is the rewrite of
    firmware loading code. Other than that, most of changes in
    HD-audio are continued cleanups and standardization for the generic
    auto parser and bug fixes (HBR, device-specific fixups), in
    addition to the support of channel-map API.

    - Addition of ASoC bindings for the compressed API, used by the
    mid-x86 drivers.

    - Lots of cleanups and API refreshes for ASoC codec drivers and
    DaVinci.

    - Conversion of OMAP to dmaengine.

    - New machine driver for Wolfson Microelectronics Bells.

    - New CODEC driver for Wolfson Microelectronics WM0010.

    - Enhancements to the ux500 and wm2000 drivers

    - A new driver for DA9055 and the support for regulator bypass mode."

    Fix up various arm soc header file reorg conflicts.

    * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
    ALSA: hda - Add new codec ALC283 ALC290 support
    ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
    ALSA: hda - fix indices on boost volume on Conexant
    ALSA: aloop - add locking to timer access
    ALSA: hda - Fix hang caused by race during suspend.
    sound: Remove unnecessary semicolon
    ALSA: hda/realtek - Fix detection of ALC271X codec
    ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
    ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
    ALSA: hda - make a generic unsol event handler
    ASoC: codecs: Add DA9055 codec driver
    ASoC: eukrea-tlv320: Convert it to platform driver
    ALSA: ASoC: add DT bindings for CS4271
    ASoC: wm_hubs: Ensure volume updates are handled during class W startup
    ASoC: wm5110: Adding missing volume update bits
    ASoC: wm5110: Add OUT3R support
    ASoC: wm5110: Add AEC loopback support
    ASoC: wm5110: Rename EPOUT to HPOUT3
    ASoC: arizona: Add more clock rates
    ASoC: arizona: Add more DSP options for mixer input muxes
    ...

    Linus Torvalds
     

14 Sep, 2012

1 commit

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the davinci include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Felipe Balbi
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: "Ben Dooks"
    Cc: "Wolfram Sang"
    Cc: Dmitry Torokhov
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Alan Stern
    Cc: Liam Girdwood
    Cc: davinci-linux-open-source@linux.davincidsp.com

    Arnd Bergmann
     

28 Aug, 2012

1 commit

  • Davinci McASP header & driver are shared by few OMAP platforms (like
    TI81xx, AM335x). Splitting asp header into Davinci platform specific
    header and Audio specific header helps to share them across platforms.

    Audio specific defines is moved to to common
    so that the header can be
    accessed by all related platforms.

    While here, correct the header usage (remove multiple header
    re-definitions and unused headers) and remove platform names from
    structures comments and enum. Also some some coding style errors.

    Signed-off-by: Hebbar, Gururaja
    Acked-by: Vaibhav Bedia
    Signed-off-by: Mark Brown

    Hebbar, Gururaja
     

19 Apr, 2012

1 commit


25 Feb, 2012

2 commits

  • There are instances of IO_ADDRESS() being used for system module
    (sysmod) register access. Eliminate this in favor of a ioremap()
    based access. ioremap() the entire sysmod address space once during
    boot-up and provide a helper macro to access specific register
    offsets within the address space.

    With this, also eliminate ioremap() of specific sysmodule registers
    related to VPIF happening in DM646x EVM code.

    While at it, also eliminate some duplicate sysmod register offset macros
    defined in code and place offset definitions at one place in davinci.h

    Signed-off-by: Manjunath Hadli
    Acked-by: Arnd Bergmann
    [nsekhar@ti.com: removed the addition of ifndef __ASSEMBLER__
    in davinci.h, eliminate IO_ADDRESS() usage left out in dm646x.c,
    cleanup VPIF sysmodule register access as part of this patch and
    keep all sysmod offsets in davinci.h Also, convert the WARN_ON()
    on failure to setup sysmod base to BUG_ON()]
    Signed-off-by: Sekhar Nori

    Manjunath Hadli
     
  • Remove individual platform header files for dm365, dm355, dm644x
    and dm646x and consolidate it into a single and common
    header file davinci.h placed in arch/arm/mach-davinci.

    This reduces the pollution in the include/mach and is consistent
    with Russell's suggestions as part of his "pet peaves" mail.
    (See #4 in: http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/071516.html)

    While at it, fix the forward declaration of spi_board_info,
    and include the right header file instead.

    The further patches in the series take advantage of this consolidation
    for easy implementation of IO_ADDRESS elimination.

    Signed-off-by: Manjunath Hadli
    [nsekhar@ti.com: make davinci.h the first local include file,
    fix forward declaration of spi_board_info and add back Deep Root
    Systems, LLC copyright]
    Signed-off-by: Sekhar Nori

    Manjunath Hadli
     

21 Jan, 2012

1 commit

  • Move register base addresses and offsets used only in dm365.c
    from arch/arm/mach-davinci/include/mach/dm365.h in to the C
    file as these definitions are used only in C file.

    This helps reduce code in arch/arm/mach-davinci/include/mach/
    which is not really needed by rest of the kernel.

    Signed-off-by: Manjunath Hadli
    Signed-off-by: Sekhar Nori

    Manjunath Hadli
     

05 Jan, 2012

1 commit

  • Rather than using DaVinci specific davinci_soc_info based
    restart hook, use the restart hook available in the machine
    descriptor instead.

    Tested on DM365 and AM18x EVMs.

    v2:
    Changed to use restart hook in machine descriptor
    per Russell's comment.

    Signed-off-by: Sekhar Nori
    Signed-off-by: Russell King

    Sekhar Nori
     

22 Aug, 2011

1 commit


01 Mar, 2011

1 commit

  • For DMA operation, the davinci spi driver needs an event queue number.
    Currently, this number is passed as a IORESOURCE_DMA. This is not
    correct, as the event queue is not a DMA channel. Pass the event queue
    via the platform data structure instead.

    On dm355 and dm365, move the eventq assignment for spi0 out of resources
    array and into platform data.

    Signed-off-by: Michael Williamson
    Acked-by: Sekhar Nori
    Acked-by: Grant Likely
    Signed-off-by: Kevin Hilman

    Michael Williamson
     

29 Dec, 2010

1 commit

  • * 'for-grant' of git://arago-project.org/git/projects/linux-davinci into spi/next
    spi: davinci: fix checkpatch errors
    spi: davinci: whitespace cleanup
    spi: davinci: remove unused variable 'pdata'
    spi: davinci: set chip-select mode in SPIDEF only once
    spi: davinci: enable both activation and deactivation of chip-selects
    spi: davinci: remove unnecessary data transmit on CS disable
    spi: davinci: enable GPIO lines to be used as chip selects
    spi: davinci: simplify prescalar calculation
    spi: davinci: remove 'wait_enable' platform data member
    spi: davinci: make chip-slect specific parameters really chip-select specific
    spi: davinci: consolidate setup of SPIFMTn in one function
    spi: davinci: setup chip-select timers values only if timer enabled
    spi: davinci: add support for wait enable timeouts
    spi: davinci: remove unused members of davinci_spi_slave
    spi: davinci: eliminate the single member structure davinci_spi_slave
    spi: davinci: eliminate unnecessary update of davinci_spi->count
    spi: davinci: simplify calculation of edma acount value
    spi: davinci: check for NULL buffer pointer before using it
    spi: davinci: remove unnecessary disable of SPI
    spi: davinci: remove unnecessary 'count' variable in driver private data
    spi: davinci: remove unnecessary completion variable initialization
    spi: davinci: remove non-useful interrupt mode support
    spi: davinci: simplify poll mode transfers
    spi: davinci: add support for interrupt mode
    spi: davinci: configure the invariable bits in spipc0 only once
    spi: davinci: remove unnecessary function davinci_spi_bufs_prep()
    spi: davinci: remove unnecessary call to davinci_spi_setup_transfer()
    spi: davinci: do not store DMA channel information per chip select
    spi: davinci: always start transmit DMA
    spi: davinci: do not use temporary buffer if no transmit data provided
    spi: davinci: always start receive DMA
    spi: davinci: use edma_write_slot() to setup EDMA PaRAM slot
    spi: davinci: fix DMA event generation stoppage
    spi: davinci: fix EDMA CC errors at end of transfers
    spi: davinci: handle DMA completion errors correctly
    spi: davinci: remove usage of additional completion variables for DMA
    spi: davinci: let DMA operation be specified on per-device basis
    spi: davinci: remove non-useful "clk_internal" platform data
    spi: davinci: enable and power-up SPI only when required
    spi: davinci: setup the driver owner
    spi: davinci: add additional comments
    spi: davinci: add EF Johnson Technologies copyright
    spi: davinci: removed unused #defines
    spi: davinci: remove unnecessary typecast
    spi: davinci: do not treat Tx interrupt being set as error
    spi: davinci: do not allocate DMA channels during SPI device setup
    spi: davinci: remove unnecessary private data member 'region_size'
    spi: davinci: shorten variable names
    spi: davinci: kconfig: add manufacturer name to prompt string

    Grant Likely
     

18 Nov, 2010

3 commits

  • The "clk_internal" platform data member which contols the
    CLKMOD bit in Global Control Register 1 is not useful
    since CLKMOD needs be set to 1 *always* to ensure master
    mode operation.

    Remove this platform data.

    Signed-off-by: Brian Niebuhr
    Tested-By: Michael Williamson
    Signed-off-by: Sekhar Nori

    Brian Niebuhr
     
  • The interrupt mode support as it stands is another version
    of poll mode. Even when interrupt mode is selected, the code
    tight loops on interrupt status register, rendering it totally
    useless. A completion variable is initialized, but never used.

    Remove this fake interrupt mode since users can anyway use
    poll mode with no functional difference. A usefully implemented
    interrupt mode support can be added later.

    Signed-off-by: Brian Niebuhr
    Tested-By: Michael Williamson
    Signed-off-by: Sekhar Nori

    Brian Niebuhr
     
  • Some chip-select specific paramterers like wdelay, parity, usage of
    chip-select timers (and the actual timer values) are included in
    platform data forcing the same behaviour across all chip-selects.

    Create a new davinci_spi_config data structure which can be passed
    along using controller_data member of spi_device data structure
    on a per-device basis.

    Signed-off-by: Brian Niebuhr
    Tested-By: Michael Williamson
    Signed-off-by: Sekhar Nori

    Brian Niebuhr