summaryrefslogtreecommitdiff
path: root/arch/arm/mach-msm
Commit message (Collapse)AuthorAgeFilesLines
* msm: 7x30 Kconfig and makefile changesDaniel Walker2010-05-132-0/+15
| | | | | | | | | | | Enables basic boot support for the MSM7x30 SURF development board. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: clock support for the MSM7x30 CPU.Gregory Bean2010-05-133-0/+170
| | | | | | | | Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: physical offset for MSM7X30Daniel Walker2010-05-131-0/+2
| | | | | | | | | | | | The MSM7x30 does not have a separate bank of memory for shared memory communication with the radio CPU. Set the kernel base address 2MB in, to use this first 2MB for this purpose. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: io: add io support for 7x30Daniel Walker2010-05-132-0/+35
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: Add extern for 7x30 clock list.Daniel Walker2010-05-131-0/+3
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: dma: add 7x30 security domain abstractionDaniel Walker2010-05-131-15/+17
| | | | | | | | | | | | | | The MSM SOC's DMA controller contains several security domains. On the MSM7x00, only security domain 3 is accessible to our CPU. The 7x30, however, uses security domain 2. Fix up the register definition macros to select this appropriately, based on configured target. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: update basic board layout for MSM7x30Daniel Walker2010-05-131-96/+20
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add devices-msm7x30.cDaniel Walker2010-05-131-0/+128
| | | | | | | | | | | This adds a clock list, and common resource structures for MSM7x30. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add msm_iomap-7x30.h for MSM7x30 supportDaniel Walker2010-05-132-1/+125
| | | | | | | | | | Add a header describing the io regions for MSM7x30. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: irqs: add irqs-7x30.h for MSM7x30 supportDaniel Walker2010-05-132-1/+173
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: 8x50 Kconfig changesDaniel Walker2010-05-132-16/+46
| | | | | | | | | | | Enable CONFIG_ARCH_QSD8X50. This is the first SOC with the Scorpion processor. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: physical offset for QSD8x50Daniel Walker2010-05-131-0/+6
| | | | | | | | | | | Support different RAM base addresses used by Qualcomm SOCs, with QSD8x50 as the first addtional one. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: io: add io support for 8x50Daniel Walker2010-05-132-3/+39
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add extern for 8x50 clock list.Daniel Walker2010-05-131-0/+3
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add devices-qsd8x50.cDaniel Walker2010-05-131-0/+92
| | | | | | | | | | | This adds a clock list, and common resource structures for QSD8x50. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: update basic board layout for QSD8x50Daniel Walker2010-05-131-101/+19
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add msm_iomap-8x50.h for QSD8x50 supportDaniel Walker2010-05-132-0/+151
| | | | | | | | | | Add a header describing the io regions for QSD8x50. Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: irqs: add irqs-8x50.h for QSD8x50 supportDaniel Walker2010-05-132-1/+109
| | | | | | | | Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: timer: allow MSM_DGT_BASE to be overridenDaniel Walker2010-05-131-0/+2
| | | | | | | | Some SoC need to redefine MSM_DGT_BASE from it's default. This allows it to be defined in a header to override the default value. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* msm: add Qualcomm 7x30 interrupt controller driver.Gregory Bean2010-05-133-1/+374
| | | | | | | | Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add tlmm support for gpio.Gregory Bean2010-05-132-0/+227
| | | | | | | | | | | | GPIO support for Qualcomm SOCs requires interaction with the radio (baseband processor). This API allows the different boards to enable GPIO through the radio processor in a generic way. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: generalize clock support.Daniel Walker2010-05-1312-206/+651
| | | | | | | | | | | | The 'PCOM' method of clock control (commands issued to the radio CPU) is shared across several (but not all) Qualcomm SOCs. Generalize this clock mechanism so these other SOCs can be added. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: add sirc interrupt controller driver.Gregory Bean2010-05-132-0/+292
| | | | | | | | | | | Scorpion-based SOCs from Qualcomm use a different interrupt controller 'sirc'. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: generialize iomap to support multiple SOCs.Gregory Bean2010-05-132-94/+142
| | | | | | | | | | | msm_iomap.h is specific to the MSM7x00 series devices. Generalize this in preparation to support more devices. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: generialize IRQ to support multiple SOCs.Gregory Bean2010-05-132-67/+84
| | | | | | | | | | | irqs.h is specific to the MSM7x00 series devices. Generalize this in preparation to support more devices. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* msm: generalization to support multiple SOCs.Gregory Bean2010-05-132-3/+2
| | | | | | | | | | | devices.c is specific to the MSM7x00 series of SOCs. Rename appropriately in preparation to support more devices. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
* arm: msm: video: add msm_fb.hDaniel Walker2010-05-122-6/+147
| | | | | | | Also drops the old mddi structure, which conflicts with the new file. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: fix initcall prototype compiler warningDaniel Walker2010-05-121-2/+4
| | | | | | | | This fixes the following warning, arch/arm/mach-msm/smd_debug.c:240: warning: initialization from incompatible pointer type Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: trout: fix build failure without UARTDaniel Walker2010-05-121-0/+2
| | | | | | | | | | | Without a debug uart selected you get this failure, arch/arm/mach-msm/board-trout.c:85: error: 'MSM_DEBUG_UART_PHYS' undeclared here (not in a function) arch/arm/mach-msm/board-trout.c:86: error: 'MSM_DEBUG_UART_BASE' undeclared here (not in a function) This just removes these lines in that case. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: remove Kconfig menu optionDaniel Walker2010-05-121-8/+2
| | | | | | | This removes the Kconfig menu option. SMD can still be selected but it's done inside the Kconfig file and not via the menu. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: fix SMD modem processor sync conditionDaniel Walker2010-05-123-1/+24
| | | | | | | | | | When booting up we need to wait for the modem processor to partially boot. This is because the modem processor does resource allocation for us. If we don't wait the modem won't honor our requests and we end up crashing or in an unknown state. This change just formalizes the waiting process. Signed-off-by: Daniel Walker <c_dwalke@quicinc.com>
* arm: msm: smd: ifdef dsp irq handlerDaniel Walker2010-05-121-0/+2
| | | | | | | This irq handler isn't used in all cases, so add the proper ifdef. This eliminates a compiler warning due to the function not getting used. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: remove unneeded predefinesDaniel Walker2010-05-121-41/+36
| | | | | | | | | This just removed some unneeded predefines. One needed a whole function moved down further. The others could just be deleted. No functional changes. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: msm7x30 a2m clean upDaniel Walker2010-05-122-12/+16
| | | | | | | | This moves the msm_a2m_int() function into the header, and does a small macro clean up to be more inline with Linux norms. No functional changes. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: convert unsigned addr to unsigned longDaniel Walker2010-05-121-1/+1
| | | | | | | | | | "unsigned" translates to "unsigned int", but this value holds an address. We always want to use unsigned long for addresses since it will change size to fit the machine. This just convert the one address holder to unsigned long. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: smd: use either package v3 or v4 not bothDaniel Walker2010-05-123-48/+78
| | | | | | | | | | | | | | | | | | | | This modifies SMD to use either the package v3 or package v4, but not both. The current code tries to allocate as v4 on all system which can produce a scary looking error message on boot up, smem_find(16, 40): wrong size 16424 smd_alloc_channel() cid=02 size=08192 'SMD_RPCCALL' With this error the code then falls back on the package v3 allocation method. This method is inefficient because it causes a slow down on some systems even when the allocation method can be determined at compile time. It also causes a kernel size increase that effects all system and is not needed. This change corrects the allocation to use one method or the other and not both. Signed-off-by: Daniel Walker <c_dwalke@quicinc.com>
* arm: msm: smd: checkpatch clean up of smd/proc_commDaniel Walker2010-05-124-24/+17
| | | | | | This cleans up coding style. There are no run time changes. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: smd: Force the half_channel struct aligmnent to 4Dima Zavin2010-05-121-1/+1
| | | | | | | | | Forcing the alignment prevents gcc from generating byte reads for word member variables. Lack of this caused issues when the app processor modified struct members and the modem saw a partial word write. Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* arm: msm: correctly signal the apps-to-modem irq in smd/proc_commDima Zavin2010-05-124-7/+31
| | | | | Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* msm: smd: provide atomic channel writesBrian Swetland2010-05-122-0/+11
| | | | | | | | | | Some smd clients may write from multiple threads, in which case it's not safe to call smd_write without holding a lock. smd_write_atomic() provides the same functionality as smd_write() but obtains the smd lock first. Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: add /proc/last_radio_log when supported by the modem.Iliyan Malchev2010-05-123-0/+87
| | | | | Signed-off-by: Iliyan Malchev <malchev@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* msm/qsd: smd: avoid race condition in smd channel allocationBrian Swetland2010-05-121-6/+7
| | | | | | | | Don't mark a channel as allocated if we failed to allocate it (perhaps the modem updated one table but not the other, etc) Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: smd: Update the correct fTAIL pointer after reading from fifoHaley Teng2010-05-121-1/+1
| | | | | | | | | When we read data out of the sender's fifo, we need to advance the sender's tail pointer, not the receiver's. Signed-off-by: Haley Teng <Haley_Teng@htc.com> Acked-by: Dima Zavin <dima@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: smd: add support for DSP SMD channelsBrian Swetland2010-05-123-50/+76
| | | | | | | | | - QSD8250 has a DSP that speaks SMD, in addition to the modem - handle a separate list of modem vs dsp channels - install dsp smd irq handler as necessary Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: cleanup smd, separate debugfs supportBrian Swetland2010-05-124-405/+433
| | | | | | | | | - pull debug code into smd_debug.c - move necessary structures and defines into smd_private.h - fix some comment formatting, etc Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: Add 8k power collapse support to smdArve Hjønnevåg2010-05-122-24/+57
| | | | | Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: Add item argument to smsm_change_state and smsm_get_stateArve Hjønnevåg2010-05-122-38/+50
| | | | | | | | The new protocol require writing to two state fields, and reading several fields. Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* msm: smd: initial support for smd v2Brian Swetland2010-05-122-189/+313
| | | | | | | | | | | - support both v2 and v1 style smd channels - support both v2 and v1 smsm shared state - update smsm state defines and smem item enum - prep work for dealing with smd to qdsp6 - simplify some smem access to minimize use of smem_alloc() at runtime Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: smd: don't crash if the smd channel table doesn't existBrian Swetland2010-05-121-1/+4
| | | | | Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
* [ARM] msm: shared memory interface for baseband processor ipcBrian Swetland2010-05-126-1/+1625
| | | | | | | | | This code provides the low level interface to the "shared memory state machine" (smsm), and the virtual serial channels (smd), used to communicate with the baseband processor. Higher level transports (rpc, ethernet, AT command channel, etc) ride on top of this. Signed-off-by: Brian Swetland <swetland@google.com>