From: Omar Ramirez Luna <omar.rami...@ti.com>

Add Kconfig + Makefile for TI's DSP Bridge driver
and expose it to the staging menu.

Signed-off-by: Omar Ramirez Luna <omar.rami...@ti.com>
Signed-off-by: Kanigeri, Hari <h-kanige...@ti.com>
Signed-off-by: Ameya Palande <ameya.pala...@nokia.com>
Signed-off-by: Guzman Lugo, Fernando <fernando.l...@ti.com>
Signed-off-by: Hebbar, Shivananda <x0heb...@ti.com>
Signed-off-by: Ramos Falcon, Ernesto <erne...@ti.com>
Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com>
Signed-off-by: Anna, Suman <s-a...@ti.com>
Signed-off-by: Gupta, Ramesh <grgu...@ti.com>
Signed-off-by: Gomez Castellanos, Ivan <ivan.go...@ti.com>
Signed-off-by: Andy Shevchenko <ext-andriy.shevche...@nokia.com>
Signed-off-by: Armando Uribe De Leon <x0095...@ti.com>
Signed-off-by: Deepak Chitriki <deepak.chitr...@ti.com>
Signed-off-by: Menon, Nishanth <n...@ti.com>
Signed-off-by: Phil Carmody <ext-phil.2.carm...@nokia.com>
Signed-off-by: Ohad Ben-Cohen <o...@wizery.com>
---
 drivers/staging/Kconfig              |    2 +
 drivers/staging/Makefile             |    1 +
 drivers/staging/tidspbridge/Kconfig  |   88 ++++++++++++++++++++++++++++++++++
 drivers/staging/tidspbridge/Makefile |   34 +++++++++++++
 4 files changed, 125 insertions(+), 0 deletions(-)
 create mode 100644 drivers/staging/tidspbridge/Kconfig
 create mode 100644 drivers/staging/tidspbridge/Makefile

diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index cdd3ea3..ce1dfa8 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -151,5 +151,7 @@ source "drivers/staging/msm/Kconfig"
 
 source "drivers/staging/easycap/Kconfig"
 
+source "drivers/staging/tidspbridge/Kconfig"
+
 endif # !STAGING_EXCLUDE_BUILD
 endif # STAGING
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index beceaff..7849818 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -56,3 +56,4 @@ obj-$(CONFIG_FB_XGI)          += xgifb/
 obj-$(CONFIG_TOUCHSCREEN_MRSTOUCH)     += mrst-touchscreen/
 obj-$(CONFIG_MSM_STAGING)      += msm/
 obj-$(CONFIG_EASYCAP)          += easycap/
+obj-$(CONFIG_TIDSPBRIDGE)      += tidspbridge/
diff --git a/drivers/staging/tidspbridge/Kconfig 
b/drivers/staging/tidspbridge/Kconfig
new file mode 100644
index 0000000..37fa2b1
--- /dev/null
+++ b/drivers/staging/tidspbridge/Kconfig
@@ -0,0 +1,88 @@
+#
+# DSP Bridge Driver Support
+#
+
+menuconfig TIDSPBRIDGE
+       tristate "DSP Bridge driver"
+       default n
+       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.
diff --git a/drivers/staging/tidspbridge/Makefile 
b/drivers/staging/tidspbridge/Makefile
new file mode 100644
index 0000000..6082ef0
--- /dev/null
+++ b/drivers/staging/tidspbridge/Makefile
@@ -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
+
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to