mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-05-07 03:49:20 +00:00
linux-ti335x 3.1: enable i2c2 for beaglebone
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
From cad762e20178949527118629d7cf1298e38658f2 Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Tue, 15 Nov 2011 10:47:40 -0600
|
||||
Subject: [PATCH 1/3] arm:omap:mux33xx: Add i2c2 pin muix
|
||||
|
||||
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/mux33xx.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c
|
||||
index 4399003..06719df 100644
|
||||
--- a/arch/arm/mach-omap2/mux33xx.c
|
||||
+++ b/arch/arm/mach-omap2/mux33xx.c
|
||||
@@ -315,10 +315,10 @@ static struct omap_mux __initdata am33xx_muxmodes[] = {
|
||||
"uart0_txd", "spi1_cs1", NULL, NULL,
|
||||
NULL, NULL, NULL, NULL),
|
||||
_AM33XX_MUXENTRY(UART1_CTSN, 0,
|
||||
- "uart1_ctsn", NULL, "d_can0_tx", NULL,
|
||||
+ "uart1_ctsn", NULL, "d_can0_tx", "i2c2_sda",
|
||||
"spi1_cs0", NULL, NULL, NULL),
|
||||
_AM33XX_MUXENTRY(UART1_RTSN, 0,
|
||||
- "uart1_rtsn", NULL, "d_can0_rx", NULL,
|
||||
+ "uart1_rtsn", NULL, "d_can0_rx", "i2c2_scl",
|
||||
"spi1_cs1", NULL, NULL, NULL),
|
||||
_AM33XX_MUXENTRY(UART1_RXD, 0,
|
||||
"uart1_rxd", "mmc1_sdwp", "d_can1_tx", NULL,
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
From 9d84b7ca76f00fc71a2fb4e32f4a172b0dd95b0d Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Wed, 16 Nov 2011 07:23:37 -0600
|
||||
Subject: [PATCH 2/3] omap:hwmod:33xx: Add support for third i2c bus
|
||||
|
||||
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 50 ++++++++++++++++++++++++++++
|
||||
1 files changed, 50 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
|
||||
index cad59f0e..663bd26 100644
|
||||
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
|
||||
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
|
||||
@@ -59,6 +59,7 @@ static struct omap_hwmod am33xx_gpio2_hwmod;
|
||||
static struct omap_hwmod am33xx_gpio3_hwmod;
|
||||
static struct omap_hwmod am33xx_i2c1_hwmod;
|
||||
static struct omap_hwmod am33xx_i2c2_hwmod;
|
||||
+static struct omap_hwmod am33xx_i2c3_hwmod;
|
||||
static struct omap_hwmod am33xx_usbss_hwmod;
|
||||
static struct omap_hwmod am33xx_mmc0_hwmod;
|
||||
static struct omap_hwmod am33xx_mmc1_hwmod;
|
||||
@@ -800,6 +801,54 @@ static struct omap_hwmod am33xx_i2c2_hwmod = {
|
||||
.class = &i2c_class,
|
||||
};
|
||||
|
||||
+/* i2c3 */
|
||||
+/* l4 per -> i2c3 */
|
||||
+static struct omap_hwmod_addr_space am33xx_i2c3_addr_space[] = {
|
||||
+ {
|
||||
+ .pa_start = 0x4819C000,
|
||||
+ .pa_end = 0x4819C000 + SZ_4K - 1,
|
||||
+ .flags = ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct omap_hwmod_ocp_if am335_l4_per_i2c3 = {
|
||||
+ .master = &am33xx_l4per_hwmod,
|
||||
+ .slave = &am33xx_i2c3_hwmod,
|
||||
+ .addr = am33xx_i2c3_addr_space,
|
||||
+ .user = OCP_USER_MPU,
|
||||
+};
|
||||
+
|
||||
+static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
|
||||
+ { .irq = 30 },
|
||||
+ { .irq = -1 }
|
||||
+};
|
||||
+
|
||||
+static struct omap_hwmod_dma_info i2c3_edma_reqs[] = {
|
||||
+ { .name = "tx", .dma_req = 0, },
|
||||
+ { .name = "rx", .dma_req = 0, },
|
||||
+};
|
||||
+
|
||||
+static struct omap_hwmod_ocp_if *am33xx_i2c3_slaves[] = {
|
||||
+ &am335_l4_per_i2c3,
|
||||
+};
|
||||
+
|
||||
+static struct omap_hwmod am33xx_i2c3_hwmod = {
|
||||
+ .name = "i2c3",
|
||||
+ .mpu_irqs = i2c3_mpu_irqs,
|
||||
+ .sdma_reqs = i2c3_edma_reqs,
|
||||
+ .main_clk = "i2c3_fck",
|
||||
+ .clkdm_name = "l4ls_clkdm",
|
||||
+ .prcm = {
|
||||
+ .omap4 = {
|
||||
+ .clkctrl_offs = AM33XX_CM_PER_I2C2_CLKCTRL_OFFSET,
|
||||
+ .modulemode = MODULEMODE_SWCTRL,
|
||||
+ },
|
||||
+ },
|
||||
+ .slaves = am33xx_i2c3_slaves,
|
||||
+ .slaves_cnt = ARRAY_SIZE(am33xx_i2c3_slaves),
|
||||
+ .class = &i2c_class,
|
||||
+};
|
||||
+
|
||||
/* 'icss' class */
|
||||
static struct omap_hwmod_class am33xx_icss_hwmod_class = {
|
||||
.name = "icss",
|
||||
@@ -2430,6 +2479,7 @@ static __initdata struct omap_hwmod *am33xx_hwmods[] = {
|
||||
/* i2c class */
|
||||
&am33xx_i2c1_hwmod,
|
||||
&am33xx_i2c2_hwmod,
|
||||
+ &am33xx_i2c3_hwmod,
|
||||
/* icss class */
|
||||
&am33xx_icss_hwmod,
|
||||
/* ieee5000 class */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
From 167a775857838679d6d9465587af8ba1bd8c97bd Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Wed, 16 Nov 2011 07:25:14 -0600
|
||||
Subject: [PATCH 3/3] arm:omap:board: Add quick hack to get i2c2 bus support
|
||||
|
||||
* Only added aic address so that i2ctools can be used at runtime
|
||||
to query eeprom and EDID, just to make sure i2c2 is working.
|
||||
|
||||
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++++++
|
||||
1 files changed, 25 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index 590c4ca..b27fb97 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -582,6 +582,14 @@ static struct pinmux_config i2c1_pin_mux[] = {
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
+static struct pinmux_config i2c2_pin_mux[] = {
|
||||
+ {"uart1_ctsn.i2c2_sda", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW |
|
||||
+ AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
|
||||
+ {"uart1_rtsn.i2c2_scl", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW |
|
||||
+ AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
|
||||
+ {NULL, 0},
|
||||
+};
|
||||
+
|
||||
/* Module pin mux for mcasp1 */
|
||||
static struct pinmux_config mcasp1_pin_mux[] = {
|
||||
{"mii1_crs.mcasp1_aclkx", OMAP_MUX_MODE4 | AM33XX_PIN_INPUT_PULLDOWN},
|
||||
@@ -1107,6 +1115,21 @@ static void i2c1_init(int evm_id, int profile)
|
||||
return;
|
||||
}
|
||||
|
||||
+/* There will be more additions to this board_info over time. */
|
||||
+static struct i2c_board_info beaglebone_i2c_boardinfo2[] = {
|
||||
+ {
|
||||
+ I2C_BOARD_INFO("tlv320aic3x", 0x1b),
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static void i2c2_init(int evm_id, int profile)
|
||||
+{
|
||||
+ setup_pin_mux(i2c2_pin_mux);
|
||||
+ omap_register_i2c_bus(3, 100, beaglebone_i2c_boardinfo2,
|
||||
+ ARRAY_SIZE(beaglebone_i2c_boardinfo2));
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
/* Setup McASP 1 */
|
||||
static void mcasp1_init(int evm_id, int profile)
|
||||
{
|
||||
@@ -1529,6 +1552,7 @@ static struct evm_dev_cfg beaglebone_old_dev_cfg[] = {
|
||||
{dvi_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
||||
{usb0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
+ {i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
||||
{NULL, 0, 0},
|
||||
@@ -1540,6 +1564,7 @@ static struct evm_dev_cfg beaglebone_dev_cfg[] = {
|
||||
{dvi_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
||||
{usb0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
+ {i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
||||
{boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
||||
{NULL, 0, 0},
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -11,7 +11,7 @@ MULTI_CONFIG_BASE_SUFFIX = ""
|
||||
|
||||
BRANCH = "v3.1-meta-ti-r1r+gitr1d84d8853fa30cf3db2571a5aec572accca4e29d"
|
||||
SRCREV = "1d84d8853fa30cf3db2571a5aec572accca4e29d"
|
||||
MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
|
||||
MACHINE_KERNEL_PR_append = "b+gitr${SRCREV}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ti33x)"
|
||||
|
||||
@@ -41,6 +41,9 @@ PATCHES_OVER_PSP = " \
|
||||
file://can/0003-can-d_can-DCAN-config-added-to-am335x_evm_defconfig.patch \
|
||||
file://can/0004-can-d_can-fix-for-cansend-loop-issue.patch \
|
||||
file://can/0005-can-d_can-fixes-the-rmmod-crash.patch \
|
||||
file://i2c/0001-arm-omap-mux33xx-Add-i2c2-pin-muix.patch \
|
||||
file://i2c/0002-omap-hwmod-33xx-Add-support-for-third-i2c-bus.patch \
|
||||
file://i2c/0003-arm-omap-board-Add-quick-hack-to-get-i2c2-bus-suppor.patch \
|
||||
"
|
||||
|
||||
SRC_URI += "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "", "${PATCHES_OVER_PSP}", d)}"
|
||||
|
||||
Reference in New Issue
Block a user