mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 03:40:04 +00:00
staging: ti dspbridge: enable driver building
Add Kconfig + Makefile for TI's DSP Bridge driver and expose it to the staging menu. For now, have tidspbridge depend on ARCH_OMAP3. That dependency should be relaxed as soon as required cleanups are applied. Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Signed-off-by: Kanigeri, Hari <h-kanigeri2@ti.com> Signed-off-by: Ameya Palande <ameya.palande@nokia.com> Signed-off-by: Guzman Lugo, Fernando <fernando.lugo@ti.com> Signed-off-by: Hebbar, Shivananda <x0hebbar@ti.com> Signed-off-by: Ramos Falcon, Ernesto <ernesto@ti.com> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Anna, Suman <s-anna@ti.com> Signed-off-by: Gupta, Ramesh <grgupta@ti.com> Signed-off-by: Gomez Castellanos, Ivan <ivan.gomez@ti.com> Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com> Signed-off-by: Armando Uribe De Leon <x0095078@ti.com> Signed-off-by: Deepak Chitriki <deepak.chitriki@ti.com> Signed-off-by: Menon, Nishanth <nm@ti.com> Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
7454c8f6b8
commit
cbf05091e5
4 changed files with 125 additions and 0 deletions
|
@ -153,5 +153,7 @@ source "drivers/staging/easycap/Kconfig"
|
||||||
|
|
||||||
source "drivers/staging/solo6x10/Kconfig"
|
source "drivers/staging/solo6x10/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/staging/tidspbridge/Kconfig"
|
||||||
|
|
||||||
endif # !STAGING_EXCLUDE_BUILD
|
endif # !STAGING_EXCLUDE_BUILD
|
||||||
endif # STAGING
|
endif # STAGING
|
||||||
|
|
|
@ -57,3 +57,4 @@ obj-$(CONFIG_TOUCHSCREEN_MRSTOUCH) += mrst-touchscreen/
|
||||||
obj-$(CONFIG_MSM_STAGING) += msm/
|
obj-$(CONFIG_MSM_STAGING) += msm/
|
||||||
obj-$(CONFIG_EASYCAP) += easycap/
|
obj-$(CONFIG_EASYCAP) += easycap/
|
||||||
obj-$(CONFIG_SOLO6X10) += solo6x10/
|
obj-$(CONFIG_SOLO6X10) += solo6x10/
|
||||||
|
obj-$(CONFIG_TIDSPBRIDGE) += tidspbridge/
|
||||||
|
|
88
drivers/staging/tidspbridge/Kconfig
Normal file
88
drivers/staging/tidspbridge/Kconfig
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
#
|
||||||
|
# DSP Bridge Driver Support
|
||||||
|
#
|
||||||
|
|
||||||
|
menuconfig TIDSPBRIDGE
|
||||||
|
tristate "DSP Bridge driver"
|
||||||
|
depends on ARCH_OMAP3
|
||||||
|
select OMAP_MBOX_FWK
|
||||||
|
help
|
||||||
|
DSP/BIOS Bridge is designed for platforms that contain a GPP and
|
||||||
|
one or more attached DSPs. The GPP is considered the master or
|
||||||
|
"host" processor, and the attached DSPs are processing resources
|
||||||
|
that can be utilized by applications and drivers running on the GPP.
|
||||||
|
|
||||||
|
This driver depends on OMAP Mailbox (OMAP_MBOX_FWK).
|
||||||
|
|
||||||
|
config BRIDGE_DVFS
|
||||||
|
bool "Enable Bridge Dynamic Voltage and Frequency Scaling (DVFS)"
|
||||||
|
depends on TIDSPBRIDGE && OMAP_PM_SRF && CPU_FREQ
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
DVFS allows DSP Bridge to initiate the operating point change to
|
||||||
|
scale the chip voltage and frequency in order to match the
|
||||||
|
performance and power consumption to the current processing
|
||||||
|
requirements.
|
||||||
|
|
||||||
|
config BRIDGE_MEMPOOL_SIZE
|
||||||
|
hex "Physical memory pool size (Byte)"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
default 0x600000
|
||||||
|
help
|
||||||
|
Allocate specified size of memory at booting time to avoid allocation
|
||||||
|
failure under heavy memory fragmentation after some use time.
|
||||||
|
|
||||||
|
config BRIDGE_DEBUG
|
||||||
|
bool "DSP Bridge Debug Support"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
help
|
||||||
|
Say Y to enable Bridge debugging capabilities
|
||||||
|
|
||||||
|
config BRIDGE_RECOVERY
|
||||||
|
bool "DSP Recovery Support"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
help
|
||||||
|
In case of DSP fatal error, BRIDGE driver will try to
|
||||||
|
recover itself.
|
||||||
|
|
||||||
|
config BRIDGE_CACHE_LINE_CHECK
|
||||||
|
bool "Check buffers to be 128 byte aligned"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
When the DSP processes data, the DSP cache controller loads 128-Byte
|
||||||
|
chunks (lines) from SDRAM and writes the data back in 128-Byte chunks.
|
||||||
|
If a DMM buffer does not start and end on a 128-Byte boundary, the data
|
||||||
|
preceding the start address (SA) from the 128-Byte boundary to the SA
|
||||||
|
and the data at addresses trailing the end address (EA) from the EA to
|
||||||
|
the next 128-Byte boundary will be loaded and written back as well.
|
||||||
|
This can lead to heap corruption. Say Y, to enforce the check for 128
|
||||||
|
byte alignment, buffers failing this check will be rejected.
|
||||||
|
|
||||||
|
config BRIDGE_WDT3
|
||||||
|
bool "Enable WDT3 interruptions"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
WTD3 is managed by DSP and once it is enabled, DSP side bridge is in
|
||||||
|
charge of refreshing the timer before overflow, if the DSP hangs MPU
|
||||||
|
will caught the interrupt and try to recover DSP.
|
||||||
|
|
||||||
|
config WDT_TIMEOUT
|
||||||
|
int "DSP watchdog timer timeout (in secs)"
|
||||||
|
depends on BRIDGE_WDT3
|
||||||
|
default 5
|
||||||
|
help
|
||||||
|
Watchdog timer timeout value, after that time if the watchdog timer
|
||||||
|
counter is not reset the wdt overflow interrupt will be triggered
|
||||||
|
|
||||||
|
comment "Bridge Notifications"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
|
||||||
|
config BRIDGE_NTFY_PWRERR
|
||||||
|
bool "Notify DSP Power Error"
|
||||||
|
depends on TIDSPBRIDGE
|
||||||
|
help
|
||||||
|
Enable notifications to registered clients on the event of power errror
|
||||||
|
trying to suspend bridge driver. Say Y, to signal this event as a fatal
|
||||||
|
error, this will require a bridge restart to recover.
|
34
drivers/staging/tidspbridge/Makefile
Normal file
34
drivers/staging/tidspbridge/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
obj-$(CONFIG_TIDSPBRIDGE) += bridgedriver.o
|
||||||
|
|
||||||
|
libgen = gen/gb.o gen/gs.o gen/gh.o gen/uuidutil.o
|
||||||
|
libservices = services/sync.o services/cfg.o \
|
||||||
|
services/ntfy.o services/services.o
|
||||||
|
libcore = core/chnl_sm.o core/msg_sm.o core/io_sm.o core/tiomap3430.o \
|
||||||
|
core/tiomap3430_pwr.o core/tiomap_io.o \
|
||||||
|
core/mmu_fault.o core/ue_deh.o core/wdt.o core/dsp-clock.o
|
||||||
|
libpmgr = pmgr/chnl.o pmgr/io.o pmgr/msg.o pmgr/cod.o pmgr/dev.o pmgr/dspapi.o \
|
||||||
|
pmgr/dmm.o pmgr/cmm.o pmgr/dbll.o
|
||||||
|
librmgr = rmgr/dbdcd.o rmgr/disp.o rmgr/drv.o rmgr/mgr.o rmgr/node.o \
|
||||||
|
rmgr/proc.o rmgr/pwr.o rmgr/rmm.o rmgr/strm.o rmgr/dspdrv.o \
|
||||||
|
rmgr/nldr.o rmgr/drv_interface.o
|
||||||
|
libdload = dynload/cload.o dynload/getsection.o dynload/reloc.o \
|
||||||
|
dynload/tramp.o
|
||||||
|
libhw = hw/hw_mmu.o
|
||||||
|
|
||||||
|
bridgedriver-objs = $(libgen) $(libservices) $(libcore) $(libpmgr) $(librmgr) \
|
||||||
|
$(libdload) $(libhw)
|
||||||
|
|
||||||
|
#Machine dependent
|
||||||
|
ccflags-y += -D_TI_ -D_DB_TIOMAP -DTMS32060 \
|
||||||
|
-DTICFG_PROC_VER -DTICFG_EVM_TYPE -DCHNL_SMCLASS \
|
||||||
|
-DCHNL_MESSAGES -DUSE_LEVEL_1_MACROS
|
||||||
|
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/include
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/services
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/core
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/pmgr
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/rmgr
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/dynload
|
||||||
|
ccflags-y += -Idrivers/staging/tidspbridge/hw
|
||||||
|
ccflags-y += -Iarch/arm
|
||||||
|
|
Loading…
Reference in a new issue