slimbus: Add Qualcomm Slimbus driver

Signed-off-by: David Brown <davidb@codeaurora.org>
This commit is contained in:
David Brown 2013-01-17 16:46:16 -08:00 committed by Stephen Boyd
parent 96e12bb8c8
commit 3db739bbbc
8 changed files with 6325 additions and 0 deletions

View file

@ -0,0 +1,38 @@
Qualcomm SLIMBUS controller
Required properties:
- reg : Offset and length of the register region(s) for the device
- reg-names : Register region name(s) referenced in reg above
Required register resource entries are:
"slimbus_physical": Physical adderss of controller register blocks
"slimbus_bam_physical": Physical address of Bus Access Module (BAM)
for this controller
- compatible : should be "qcom,slim-msm"
- cell-index : SLIMBUS number used for this controller
- interrupts : Interrupt numbers used by this controller
- interrupt-names : Required interrupt resource entries are:
"slimbus_irq" : Interrupt for SLIMBUS core
"slimbus_bam_irq" : Interrupt for controller core's BAM
Optional property:
- reg entry for slew rate : If slew rate control register is provided, this
entry should be used.
- reg-name for slew rate: "slimbus_slew_reg"
- qcom,min-clk-gear : Minimum clock gear at which this controller can be run
(range: 1-10)
Default value will be 1 if this entry is not specified
- qcom,max-clk-gear: Maximum clock gear at which this controller can be run
(range: 1-10)
Default value will be 10 if this entry is not specified
Example:
slim@fe12f000 {
cell-index = <1>;
compatible = "qcom,slim-msm";
reg = <0xfe12f000 0x35000>,
<0xfe104000 0x20000>;
reg-names = "slimbus_physical", "slimbus_bam_physical";
interrupts = <0 163 0 0 164 0>;
interrupt-names = "slimbus_irq", "slimbus_bam_irq";
qcom,min-clk-gear = <10>;
};

View file

@ -50,6 +50,8 @@ source "drivers/i2c/Kconfig"
source "drivers/spi/Kconfig"
source "drivers/slimbus/Kconfig"
source "drivers/hsi/Kconfig"
source "drivers/pps/Kconfig"

View file

@ -53,6 +53,7 @@ obj-$(CONFIG_ATA) += ata/
obj-$(CONFIG_TARGET_CORE) += target/
obj-$(CONFIG_MTD) += mtd/
obj-$(CONFIG_SPI) += spi/
obj-$(CONFIG_SLIMBUS) += slimbus/
obj-y += hsi/
obj-y += net/
obj-$(CONFIG_ATM) += atm/

19
drivers/slimbus/Kconfig Normal file
View file

@ -0,0 +1,19 @@
#
# SLIMBUS driver configuration
#
menuconfig SLIMBUS
bool "Slimbus support"
depends on HAS_IOMEM
help
Slimbus is standard interface between baseband and
application processors and peripheral components in mobile
terminals.
if SLIMBUS
config SLIMBUS_MSM_CTRL
tristate "Qualcomm Slimbus Master Component"
default n
help
Select driver for Qualcomm's Slimbus Master Component.
endif

5
drivers/slimbus/Makefile Normal file
View file

@ -0,0 +1,5 @@
#
# Makefile for kernel slimbus framework.
#
obj-$(CONFIG_SLIMBUS) += slimbus.o
obj-$(CONFIG_SLIMBUS_MSM_CTRL) += slim-msm-ctrl.o

File diff suppressed because it is too large Load diff

2953
drivers/slimbus/slimbus.c Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff