- 14 5月, 2010 5 次提交
-
-
由 Cyril Chemparathy 提交于
This patch modifies the pinmux implementation so as to ioremap() the pinmux register area on first use. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch implements the following: - interrupt initialization uses ioremap() instead of passing a virtual address via davinci_soc_info. - machine definitions directly point to cp_intc_init() or davinci_irq_init() - davinci_intc_type and davinci_intc_base now get initialized in controller specific init functions instead of davinci_common_init() - minor fix in davinci_irq_init() to use intc_irq_num instead of DAVINCI_N_AINTC_IRQ Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch modifies the psc and clock control code to use ioremap()ed registers. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch replaces the jtag id base info in davinci_soc_info with a physical address which is then ioremap()ed within common code. This patch (in combination with a similar change for PSC) will allow us to eliminate the SYSCFG nastiness in DA8xx code. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch modifies the gpio_base definition in davinci_soc_info to be a physical address, which is then ioremap()ed by the gpio initialization function. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 07 5月, 2010 4 次提交
-
-
由 Cyril Chemparathy 提交于
The earlier watchdog reset mechanism had a couple of limitations. First, it embedded a reference to "davinci_wdt_device" inside common code. This forced all derived platforms (da8xx and tnetv107x) to define such a device. This also would have caused problems in including multiple socs in a single build due to symbol redefinition. With this patch, davinci_watchdog_reset() now takes the platform device as an argument. The davinci_soc_info struct has been extended to include a reset function and a watchdog platform_device. arch_reset() then uses these elements to reset the system in a SoC specific fashion. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Tested-by: NSandeep Paulraj <s-paulraj@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
Pinmux registers are sequential, and do not need to be enumerated out as they currently are. This reduces code volume and keeps things simple. If some future SoC comes up with a discontiguous register map, PINMUX() can then be expanded with local token pasting. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch allows for gpio controllers that deviate from those found on traditional davinci socs. davinci_soc_info has an added field to indicate the soc-specific gpio controller type. The gpio initialization code then bails out if necessary. More elements (tnetv107x) to be added later into enum davinci_gpio_type. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Tested-by: NSandeep Paulraj <s-paulraj@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Kevin Hilman 提交于
- Convert data/functions to static - include headers for missing declarations - pointer cleanups: struct foo *__iomem f --> struct foo __iomem *f; Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 27 2月, 2010 1 次提交
-
-
由 Muralidharan Karicheri 提交于
This adds platform code for ccdc driver on DM355 and DM6446. 1) new ccdc platform devices added 2) added clock aliases master and slave for CCDC clocks 3) added dm355_ccdc_setup_pinmux() pin-mux setup hook in dm355 ccdc driver platform data Reviewed-by: NVaibhav Hiremath <hvaibhav@ti.com> Reviewed-by: NKevin Hilman <khilman@deeprootsystems.com> Reviewed-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMuralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 05 2月, 2010 2 次提交
-
-
由 Kevin Hilman 提交于
Remove unneeded 'struct davinci_clk' wrapper around 'struct clk_lookup' and use clkdev_add_table() to add the list of clocks in one go. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Sudhakar Rajashekhara 提交于
Currently, the edma_noevent list is passed from platform data. But on some architectures, there will be many EDMA channels which will not be used at all. This patch scans all the platform devices and then builds a list of events which are not being used. The unused event list will be used to allocate EDMA channels in case of EDMA_CHANNEL_ANY usage instead of the edma_noevent being used earlier for this purpose. This patch is based on David Brownells's suggestion at http://article.gmane.org/gmane.linux.davinci/15176. Signed-off-by: NSudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 26 11月, 2009 2 次提交
-
-
由 Andrey Porodko 提交于
The Neuros OSD 2.0 is the hardware component of the Neuros Open Internet Television Platform. Hardware is very close to Ti DM644X-EVM board. It has: DM6446M02 module with 256MB NAND, 256MB RAM, TLV320AIC32 AIC, USB, Ethernet, SD/MMC, UART, THS8200, TVP7000 for video. Additionaly realtime clock, IR remote control receiver, IR Blaster based on MSP430 (firmware although is different from used in DM644X-EVM), internal ATA-6 3.5” HDD drive with PATA interface, two muxed red-green leds. For more information please refer to http://wiki.neurostechnology.com/index.php/OSD_2.0_HDSigned-off-by: NAndrey Porodko <panda@chelcom.ru> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Sergei Shtylyov 提交于
There have accumulated quite a lot of them after the code reorganizations... In several cases I had to replace #include <linux/dma-mapping.h> which wasn't needed directly but happened to #include <linux/err.h> which was needed. Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 17 9月, 2009 1 次提交
-
-
由 Muralidharan Karicheri 提交于
DM644x platform and board setup This adds platform and board setup changes required to support vpfe capture driver on DM644x Tested video capture on DM6446 with tvp514x driver Reviewed-by: NHans Verkuil <hverkuil@xs4all.nl> Reviewed-by: NLaurent Pinchart <laurent.pinchart@skynet.be> Reviewed-by: NDavid Brownell <david-b@pacbell.net> Signed-off-by: NMuralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: NDenys Dmytriyenko <denis@denix.org> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 26 8月, 2009 5 次提交
-
-
由 Kevin Hilman 提交于
There is no need to pass clock name strings in platform_data. Instead, setup clkdev nodes to have correct ASoC device names. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Chaithrika U S 提交于
1) Registers the platform devices for ASP on dm355, dm644x and dm646x so that the machine driver can probe to get ASP related platform data. 2) Move towards definition of the asp clocks using physical name(for dm355 and dm644x) 3) Add platform data to board specific files. Signed-off-by: NNaresh Medisetty <naresh@ti.com> Signed-off-by: NChaithrika U S <chaithrika@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Kevin Hilman 提交于
watchdog info is not needed in soc_info, platform_device can be used directly in core code. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Rajashekhara, Sudhakar 提交于
JTAG ID for DM644x silicon revision 2.1 has changed. An entry for the new silicon revision needs to be added to the davinci_id structure. Without this addition, EVMs with new silicon revision fail to boot the kernel. Signed-off-by: NSudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Sudhakar Rajashekhara 提交于
- restructure to support multiple channel controllers by using additional struct resources for each CC - interface changes visible to EDMA clients Introduce macros to build IDs from controller and channel number, and to extract them. Modify the edma_alloc_slot function to take an extra argument for the controller. Also update ASoC drivers to use API. ASoC changes Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> - Move queue related mappings to dm<soc>.c EDMA in DM355 and DM644x has two transfer controllers while DM646x has four transfer controllers. Moving the queue to tc mapping and queue priority mapping to dm<soc>.c will be helpful to probe these mappings from platform device so that the machine_is_* testing will be avoided. - add channel mapping logic Channel mapping logic is introduced in dm646x EDMA. This implies that there is no fixed association for a channel number to a parameter entry number. In other words, using the DMA channel mapping registers (DCHMAPn), a PaRAM entry can be mapped to any channel. While in the case of dm644x and dm355 there is a fixed mapping between the EDMA channel and Param entry number. Signed-off-by: NNaresh Medisetty <naresh@ti.com> Signed-off-by: NSudhakar Rajashekhara <sudhakar.raj@ti.com> Reviewed-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 29 5月, 2009 5 次提交
-
-
由 David Brownell 提交于
Package on-chip SRAM. It's always accessible from the ARM, so set up a standardized virtual address mapping into a 128 KiB area that's reserved for platform use. In some cases (dm6467) the physical addresses used for EDMA are not the same as the ones used by the ARM ... so record that info separately in the SOC data, for chips (unlike the OMAP-L137) where SRAM may be used with EDMA. Other blocks of SRAM, such as the ETB buffer or DSP L1/L2 RAM, may be unused/available on some system. They are ignored here. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
Different SoC have different numbers of pinmux registers and other resources that overlap with each other. To clean up the code and eliminate defines that overlap with each other, move the PINMUX defines to the SoC specific files. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
Since most of the emac platform_data is really SoC specific and not board specific, move it to the SoC-specific files. Put a pointer to the platform_data in the soc_info structure so the board-specific code can set some of the platform_data if it needs to. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
Currently, there is one set of platform_device and platform_data structures for all DaVinci SoCs. The differences in the data between the various SoCs is handled by davinci_serial_init() by checking the SoC type. However, as new SoCs appear, this routine will become more & more cluttered. To clean up the routine and make it easier to add support for new SoCs, move the platform_device and platform_data structures into the SoC-specific code and use the SoC infrastructure to provide access to the data. In the process, fix a bug where the wrong irq is used for uart2 of the dm646x. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
The current gpio code needs to know the number of gpio irqs there are and what the bank irq number is. To determine those values, it checks the SoC type. It also assumes that the base address and the number of irqs the interrupt controller uses is fixed. To clean up the SoC checks and make it support different base addresses and interrupt controllers, have the SoC-specific code set those values in the soc_info structure and have the gpio code reference them there. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 26 5月, 2009 9 次提交
-
-
由 Mark A. Greer 提交于
The watchdog code currently hardcodes the base address of the timer its using. To support new SoCs, make it support timers at any address. Use the soc_info structure to do this. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
The davinci timer code currently hardcodes the timer register base addresses, the timer irq numbers, and the timers to use for clock events and clocksource. This won't work for some a new SoC so put those values into the soc_info structure and set them up in the SoC-specific files. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
Use the SoC infrastructure to hold the interrupt controller information (i.e., base address, default priorities, interrupt controller type, and the number of IRQs). The interrupt controller base, although initially put in the soc_info structure's intc_base field, is eventually put in the global 'davinci_intc_base' so the low-level interrupt code can access it without a dereference. These changes enable the SoC default irq priorities to be put in the SoC-specific files, and the interrupt controller to be at any base address. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
The pinmux register base and setup can be different for different SoCs so move the pinmux reg base, pinmux table (and its size) to the SoC infrastructure. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
The current code to support the DaVinci Power and Sleep Controller (PSC) assumes that there is only one controller. This assumption is no longer valid so expand the support to allow greater than one PSC. To accomplish this, put the base addresses for the PSCs in the SoC infrastructure so it can be referenced by the PSC code. This also requires adding an extra parameter to davinci_psc_config() to specify the PSC that is to be enabled/disabled. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
All of the davinci SoCs need to call davinci_clk_init() so put the call in the common init routine. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
The Davinci cpu_is_davinci_*() macros use the SoC part number and variant retrieved from the JTAG ID register to determine the type of cpu that the kernel is running on. Currently, the code to read the JTAG ID register assumes that the register is always at the same base address. This isn't true on some newer SoCs. To solve this, have the SoC-specific code set the JTAG ID register base address in soc_info structure and add a 'cpu_id' member to it. 'cpu_id' will be used by the cpu_is_davinci_*() macros to match the cpu id. Also move the info used to identify the cpu type into the SoC-specific code to keep all SoC-specific code together. The common code will read the JTAG ID register, search through an array of davinci_id structures to identify the cpu type. Once identified, it will set the 'cpu_id' member of the soc_info structure to the proper value and the cpu_is_davinci_*() macros will now work. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Mark A. Greer 提交于
Create a structure to encapsulate SoC-specific information. This will assist in generalizing code so it can be used by different SoCs that have similar hardware but with minor differences such as having a different base address. The idea is that the code for each SoC fills out a structure with the correct information. The board-specific code then calls the SoC init routine which in turn will call a common init routine that makes a copy of the structure, maps in I/O regions, etc. After initialization, code can get a pointer to the structure by calling davinci_get_soc_info(). Eventually, the common init routine will make a copy of all of the data pointed to by the structure so the original data can be made __init_data. That way the data for SoC's that aren't being used won't consume memory for the entire life of the kernel. The structure will be extended in subsequent patches but initially, it holds the map_desc structure for any I/O regions the SoC/board wants statically mapped. Signed-off-by: NMark A. Greer <mgreer@mvista.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Kevin Hilman 提交于
Add SoC and platform-specific data and init for DaVinci EMAC network driver. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 28 4月, 2009 1 次提交
-
-
由 Kevin Hilman 提交于
Rework DM644x code into SoC specific and board specific parts. This is also to generalize the structure a bit so it's easier to add support for new SoCs in the DaVinci family. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-