Merge remote-tracking branch 'origin/mxc/mlb' into mxc/next
* origin/mxc/mlb: (17 commits) MLK-23000-1 mxc: mlb: fix kernel dump when use gen_pool_dma_alloc mxc mlb: Allow compilation on imx8 MLK-22071-3 Document: mlb: add imx8qxp compatible string MLK-15997 Document: mlb: add document for mlb mxc: mlb: fix interrupt rw lock dead lock ...5.4-rM2-2.2.x-imx-squashed
commit
e2be60b651
|
@ -0,0 +1,27 @@
|
|||
*MediaLB (MLB) for i.MX
|
||||
|
||||
Required properties:
|
||||
- compatible :
|
||||
- "fsl,imx6sx-mlb50" for MLB compatible with the one integrated on i.MX6SX soc
|
||||
- "fsl,imx6q-mlb150" for MLB compatible with the one integrated on i.MX6Q
|
||||
- "fsl,imx8qxp-mlb150" for MLB compatible with the one integrated on i.MX8 soc
|
||||
- reg : address and length for mlb registers
|
||||
- interrupt-parent : core interrupt controller
|
||||
- interrupts : MLB Break/Error interrupt and ahb interrupt
|
||||
Two ahb interrupt for imx6, ahb_int[0] and ahb_int[1]
|
||||
One ahb interrupt for imx8, ahb_int[0]
|
||||
- clocks : mlb clock specifier
|
||||
|
||||
Examples:
|
||||
|
||||
mlb: mlb@5B060000 {
|
||||
compatible = "fsl,imx6q-mlb150";
|
||||
reg = <0x0 0x5B060000 0x0 0x10000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 265 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 266 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8QM_MLB_CLK>,
|
||||
<&clk IMX8QM_MLB_HCLK>,
|
||||
<&clk IMX8QM_MLB_IPG_CLK>;
|
||||
status = "disabled";
|
||||
};
|
|
@ -12,6 +12,7 @@ config MXC_IPU
|
|||
Y here. IPU is needed by Framebuffer and V4L2 drivers.
|
||||
|
||||
source "drivers/mxc/gpu-viv/Kconfig"
|
||||
source "drivers/mxc/mlb/Kconfig"
|
||||
source "drivers/mxc/ipu3/Kconfig"
|
||||
source "drivers/mxc/hdmi-cec/Kconfig"
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
obj-$(CONFIG_MXC_GPU_VIV) += gpu-viv/
|
||||
obj-$(CONFIG_MXC_MLB) += mlb/
|
||||
obj-$(CONFIG_MXC_IPU_V3) += ipu3/
|
||||
obj-$(CONFIG_MXC_HDMI_CEC) += hdmi-cec/
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# MLB150 configuration
|
||||
#
|
||||
|
||||
menu "MXC Media Local Bus Driver"
|
||||
|
||||
config MXC_MLB
|
||||
bool
|
||||
|
||||
config MXC_MLB150
|
||||
tristate "MLB150 support"
|
||||
depends on ARCH_MXC || COMPILE_TEST
|
||||
select MXC_MLB
|
||||
help
|
||||
Say Y to get the MLB150 support.
|
||||
|
||||
endmenu
|
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# Makefile for the i.MX6Q/DL MLB150 driver
|
||||
#
|
||||
|
||||
obj-$(CONFIG_MXC_MLB150) += mxc_mlb.o
|
File diff suppressed because it is too large
Load Diff
|
@ -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 */
|
|
@ -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_UAPI_H
|
||||
#define _MXC_MLB_UAPI_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 */
|
Loading…
Reference in New Issue