MLK-11442 mlb: imx: add mlb support on imx_4.1.y

Add mlb support on imx_4.1.y. The files are copied from imx_3.14.y.

Signed-off-by: Gao Pan <b54642@freescale.com>
(Vipul: Fixed merge conflicts)
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
(cherry picked from commit 24e36b318a29d85c0c4491076416343ade1f344e)
This commit is contained in:
Gao Pan 2015-08-13 17:32:47 +08:00 committed by Dong Aisheng
parent 1f84465aec
commit ccf19d3237
8 changed files with 2901 additions and 0 deletions

View File

@ -228,4 +228,5 @@ source "drivers/interconnect/Kconfig"
source "drivers/counter/Kconfig"
source "drivers/mxc/Kconfig"
endmenu

View File

@ -186,3 +186,4 @@ obj-$(CONFIG_SIOX) += siox/
obj-$(CONFIG_GNSS) += gnss/
obj-$(CONFIG_INTERCONNECT) += interconnect/
obj-$(CONFIG_COUNTER) += counter/
obj-y += mxc/

11
drivers/mxc/Kconfig Normal file
View File

@ -0,0 +1,11 @@
# drivers/mxc/Kconfig
if ARCH_MXC
menu "MXC support drivers"
source "drivers/mxc/mlb/Kconfig"
endmenu
endif

1
drivers/mxc/Makefile Normal file
View File

@ -0,0 +1 @@
obj-$(CONFIG_MXC_MLB) += mlb/

17
drivers/mxc/mlb/Kconfig Normal file
View File

@ -0,0 +1,17 @@
#
# MLB150 configuration
#
menu "MXC Media Local Bus Driver"
config MXC_MLB
bool
config MXC_MLB150
tristate "MLB150 support"
depends on SOC_IMX6Q
select MXC_MLB
help
Say Y to get the MLB150 support.
endmenu

5
drivers/mxc/mlb/Makefile Normal file
View File

@ -0,0 +1,5 @@
#
# Makefile for the i.MX6Q/DL MLB150 driver
#
obj-$(CONFIG_MXC_MLB150) += mxc_mlb.o

2810
drivers/mxc/mlb/mxc_mlb.c Executable file

File diff suppressed because it is too large Load Diff

55
include/linux/mxc_mlb.h Normal file
View File

@ -0,0 +1,55 @@
/*
* mxc_mlb.h
*
* Copyright 2008-2013 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
* The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License
* Version 2 or later at the following locations:
*
* http://www.opensource.org/licenses/gpl-license.html
* http://www.gnu.org/copyleft/gpl.html
*/
#ifndef _MXC_MLB_H
#define _MXC_MLB_H
/* define IOCTL command */
#define MLB_DBG_RUNTIME _IO('S', 0x09)
#define MLB_SET_FPS _IOW('S', 0x10, unsigned int)
#define MLB_GET_VER _IOR('S', 0x11, unsigned long)
#define MLB_SET_DEVADDR _IOR('S', 0x12, unsigned char)
/*!
* set channel address for each logical channel
* the MSB 16bits is for tx channel, the left LSB is for rx channel
*/
#define MLB_CHAN_SETADDR _IOW('S', 0x13, unsigned int)
#define MLB_CHAN_STARTUP _IO('S', 0x14)
#define MLB_CHAN_SHUTDOWN _IO('S', 0x15)
#define MLB_CHAN_GETEVENT _IOR('S', 0x16, unsigned long)
#define MLB_SET_ISOC_BLKSIZE_188 _IO('S', 0x17)
#define MLB_SET_ISOC_BLKSIZE_196 _IO('S', 0x18)
#define MLB_SET_SYNC_QUAD _IOW('S', 0x19, unsigned int)
#define MLB_IRQ_ENABLE _IO('S', 0x20)
#define MLB_IRQ_DISABLE _IO('S', 0x21)
/*!
* MLB event define
*/
enum {
MLB_EVT_TX_PROTO_ERR_CUR = 1 << 0,
MLB_EVT_TX_BRK_DETECT_CUR = 1 << 1,
MLB_EVT_TX_PROTO_ERR_PREV = 1 << 8,
MLB_EVT_TX_BRK_DETECT_PREV = 1 << 9,
MLB_EVT_RX_PROTO_ERR_CUR = 1 << 16,
MLB_EVT_RX_BRK_DETECT_CUR = 1 << 17,
MLB_EVT_RX_PROTO_ERR_PREV = 1 << 24,
MLB_EVT_RX_BRK_DETECT_PREV = 1 << 25,
};
#endif /* _MXC_MLB_H */