Commit fbc4a8a8 authored by John Ogness's avatar John Ogness Committed by Greg Kroah-Hartman

uio: uio_fsl_elbc_gpcm: new driver

This driver provides UIO access to memory of a peripheral connected
to the Freescale enhanced local bus controller (eLBC) interface
using the general purpose chip-select mode (GPCM).
Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 02b03846
...@@ -16,20 +16,28 @@ Example: ...@@ -16,20 +16,28 @@ Example:
"fsl,pq2-localbus"; "fsl,pq2-localbus";
#address-cells = <2>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <1>;
reg = <f0010100 40>; reg = <0xf0010100 0x40>;
ranges = <0 0 fe000000 02000000 ranges = <0x0 0x0 0xfe000000 0x02000000
1 0 f4500000 00008000>; 0x1 0x0 0xf4500000 0x00008000
0x2 0x0 0xfd810000 0x00010000>;
flash@0,0 { flash@0,0 {
compatible = "jedec-flash"; compatible = "jedec-flash";
reg = <0 0 2000000>; reg = <0x0 0x0 0x2000000>;
bank-width = <4>; bank-width = <4>;
device-width = <1>; device-width = <1>;
}; };
board-control@1,0 { board-control@1,0 {
reg = <1 0 20>; reg = <0x1 0x0 0x20>;
compatible = "fsl,mpc8272ads-bcsr"; compatible = "fsl,mpc8272ads-bcsr";
}; };
simple-periph@2,0 {
compatible = "fsl,elbc-gpcm-uio";
reg = <0x2 0x0 0x10000>;
elbc-gpcm-br = <0xfd810800>;
elbc-gpcm-or = <0xffff09f7>;
};
}; };
...@@ -95,6 +95,9 @@ struct fsl_lbc_bank { ...@@ -95,6 +95,9 @@ struct fsl_lbc_bank {
#define OR_FCM_TRLX_SHIFT 2 #define OR_FCM_TRLX_SHIFT 2
#define OR_FCM_EHTR 0x00000002 #define OR_FCM_EHTR 0x00000002
#define OR_FCM_EHTR_SHIFT 1 #define OR_FCM_EHTR_SHIFT 1
#define OR_GPCM_AM 0xFFFF8000
#define OR_GPCM_AM_SHIFT 15
}; };
struct fsl_lbc_regs { struct fsl_lbc_regs {
......
...@@ -104,6 +104,26 @@ config UIO_NETX ...@@ -104,6 +104,26 @@ config UIO_NETX
To compile this driver as a module, choose M here; the module To compile this driver as a module, choose M here; the module
will be called uio_netx. will be called uio_netx.
config UIO_FSL_ELBC_GPCM
tristate "eLBC/GPCM driver"
depends on FSL_LBC
help
Generic driver for accessing a peripheral connected to an eLBC port
that is running in GPCM mode. GPCM is an interface for simple lower
performance memories and memory-mapped devices. For devices using
FCM or UPM eLBC modes, other device-specific drivers are available.
config UIO_FSL_ELBC_GPCM_NETX5152
bool "eLBC/GPCM netX 51/52 support"
depends on UIO_FSL_ELBC_GPCM
help
This will add support for netX 51/52 devices connected via eLBC/GPCM.
In particular, it implements interrupt handling. This can be used
together with the userspace netX stack from Hilscher.
Information about this hardware can be found at:
http://www.hilscher.com/netx
config UIO_PRUSS config UIO_PRUSS
tristate "Texas Instruments PRUSS driver" tristate "Texas Instruments PRUSS driver"
depends on ARCH_DAVINCI_DA850 depends on ARCH_DAVINCI_DA850
......
...@@ -8,3 +8,4 @@ obj-$(CONFIG_UIO_PCI_GENERIC) += uio_pci_generic.o ...@@ -8,3 +8,4 @@ obj-$(CONFIG_UIO_PCI_GENERIC) += uio_pci_generic.o
obj-$(CONFIG_UIO_NETX) += uio_netx.o obj-$(CONFIG_UIO_NETX) += uio_netx.o
obj-$(CONFIG_UIO_PRUSS) += uio_pruss.o obj-$(CONFIG_UIO_PRUSS) += uio_pruss.o
obj-$(CONFIG_UIO_MF624) += uio_mf624.o obj-$(CONFIG_UIO_MF624) += uio_mf624.o
obj-$(CONFIG_UIO_FSL_ELBC_GPCM) += uio_fsl_elbc_gpcm.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment