mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-04-20 19:53:43 +00:00
linux-ti33x-psp 3.2: updates
* Fix LEDs on 3.5", 7" and DVI capes * Add support for rev A2 DVI capes * Minor warning fixes to the boardfile * All PWMs are initialized, but not pinmuxed * Debugfs output for mux direction has been fixed * When no capes claim the SPI bus /dev/spidev2.0 will appear Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
This commit is contained in:
committed by
Denys Dmytriyenko
parent
a623c766f2
commit
f189b368a7
@@ -0,0 +1,242 @@
|
||||
From b97227a0f246edd115cba03d8509c2b7460a815b Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Thu, 19 Apr 2012 14:23:06 +0200
|
||||
Subject: [PATCH 34/40] beaglebone: add support for DVI rev. A2 capes
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++-------------------------
|
||||
1 files changed, 35 insertions(+), 115 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index 6e7b203..e02c0b6 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -545,38 +545,6 @@ static struct pinmux_config batterycape_pin_mux[] = {
|
||||
|
||||
/* Module pin mux for LCDC */
|
||||
static struct pinmux_config lcdc_pin_mux[] = {
|
||||
- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
{"gpmc_ad8.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
{"gpmc_ad9.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
{"gpmc_ad10.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
@@ -585,15 +553,11 @@ static struct pinmux_config lcdc_pin_mux[] = {
|
||||
{"gpmc_ad13.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
{"gpmc_ad14.lcd_data22", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
{"gpmc_ad15.lcd_data23", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
-/* Module pin mux for Beagleboardtoys DVI cape */
|
||||
-static struct pinmux_config dvi_pin_mux[] = {
|
||||
+
|
||||
+static struct pinmux_config lcdc16_pin_mux[] = {
|
||||
{"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
| AM33XX_PULL_DISA},
|
||||
{"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
@@ -630,90 +594,31 @@ static struct pinmux_config dvi_pin_mux[] = {
|
||||
{"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
{"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
{"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
+ {NULL, 0},
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/* Module pin mux for Beagleboardtoys DVI cape */
|
||||
+static struct pinmux_config dvia1_pin_mux[] = {
|
||||
{"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
{"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
{"gpmc_ad7.gpmc_ad7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
+static struct pinmux_config dvia2_pin_mux[] = {
|
||||
+ {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
+ {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
+ {"gpmc_csn2.gpio1_31", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
|
||||
+ {NULL, 0},
|
||||
+};
|
||||
+
|
||||
/* Module pin mux for Beagleboardtoys 3.5" LCD cape */
|
||||
static struct pinmux_config bbtoys35_pin_mux[] = {
|
||||
- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
{NULL, 0},
|
||||
};
|
||||
/* Module pin mux for Beagleboardtoys 7" LCD cape */
|
||||
static struct pinmux_config bbtoys7_pin_mux[] = {
|
||||
- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
|
||||
- | AM33XX_PULL_DISA},
|
||||
- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
|
||||
{"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // AVDD_EN
|
||||
{"gpmc_a2.ehrpwm1A", OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT}, // Backlight
|
||||
{NULL, 0},
|
||||
@@ -1567,6 +1472,7 @@ out:
|
||||
static void lcdc_init(int evm_id, int profile)
|
||||
{
|
||||
|
||||
+ setup_pin_mux(lcdc16_pin_mux);
|
||||
setup_pin_mux(lcdc_pin_mux);
|
||||
|
||||
if (conf_disp_pll(300000000)) {
|
||||
@@ -1584,6 +1490,7 @@ static void lcdc_init(int evm_id, int profile)
|
||||
|
||||
static void bbtoys7lcd_init(int evm_id, int profile)
|
||||
{
|
||||
+ setup_pin_mux(lcdc16_pin_mux);
|
||||
setup_pin_mux(bbtoys7_pin_mux);
|
||||
gpio_request(BEAGLEBONE_LCD_AVDD_EN, "BONE_LCD_AVDD_EN");
|
||||
gpio_direction_output(BEAGLEBONE_LCD_AVDD_EN, 1);
|
||||
@@ -1603,6 +1510,7 @@ static void bbtoys7lcd_init(int evm_id, int profile)
|
||||
|
||||
static void bbtoys35lcd_init(int evm_id, int profile)
|
||||
{
|
||||
+ setup_pin_mux(lcdc16_pin_mux);
|
||||
setup_pin_mux(bbtoys35_pin_mux);
|
||||
|
||||
// we are being stupid and setting pixclock from here instead of da8xx-fb.c
|
||||
@@ -1618,13 +1526,12 @@ static void bbtoys35lcd_init(int evm_id, int profile)
|
||||
return;
|
||||
}
|
||||
|
||||
-#define BEAGLEBONEDVI_PDn GPIO_TO_PIN(1, 7)
|
||||
+#define BEAGLEBONEDVI_PDn_A1 GPIO_TO_PIN(1, 7)
|
||||
+#define BEAGLEBONEDVI_PDn_A2 GPIO_TO_PIN(1, 31)
|
||||
|
||||
static void dvi_init(int evm_id, int profile)
|
||||
{
|
||||
- setup_pin_mux(dvi_pin_mux);
|
||||
- gpio_request(BEAGLEBONEDVI_PDn, "DVI_PDn");
|
||||
- gpio_direction_output(BEAGLEBONEDVI_PDn, 1);
|
||||
+ setup_pin_mux(lcdc16_pin_mux);
|
||||
|
||||
// we are being stupid and setting pixclock from here instead of da8xx-fb.c
|
||||
if (conf_disp_pll(560000000)) {
|
||||
@@ -2218,8 +2125,21 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
pr_info("BeagleBone cape partnumber: %s\n", tmp);
|
||||
|
||||
if (!strncmp("BB-BONE-DVID-01", cape_config.partnumber, 15)) {
|
||||
- pr_info("BeagleBone cape: initializing DVI cape\n");
|
||||
+ pr_info("BeagleBone cape: initializing DVI cape\n");
|
||||
+
|
||||
+ if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) {
|
||||
+ pr_info("BeagleBone cape: DVI init for revision A1 or older\n");
|
||||
+ setup_pin_mux(dvia1_pin_mux);
|
||||
+ gpio_request(BEAGLEBONEDVI_PDn_A1, "DVI_PDn");
|
||||
+ gpio_direction_output(BEAGLEBONEDVI_PDn_A1, 1);
|
||||
dvi_init(0,0);
|
||||
+ } else {
|
||||
+ pr_info("BeagleBone cape: DVI init for revision A2 or newer\n");
|
||||
+ setup_pin_mux(dvia2_pin_mux);
|
||||
+ gpio_request(BEAGLEBONEDVI_PDn_A2, "DVI_PDn");
|
||||
+ gpio_direction_output(BEAGLEBONEDVI_PDn_A2, 1);
|
||||
+ dvi_init(0,0);
|
||||
+ }
|
||||
}
|
||||
if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) {
|
||||
pr_info("BeagleBone cape: initializing LCD cape\n");
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,240 @@
|
||||
From 080d90fddb1c39a5197b56b3aab0a7701adced75 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 11 May 2012 13:08:24 +0200
|
||||
Subject: [PATCH 35/40] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++--
|
||||
1 files changed, 131 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index e02c0b6..8db33b9 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -496,6 +496,7 @@ static bool beaglebone_cape_detected;
|
||||
/* keep track of ADC pin usage */
|
||||
static int capecount = 0;
|
||||
static bool beaglebone_tsadcpins_free = 1;
|
||||
+static bool beaglebone_leds_free = 1;
|
||||
|
||||
|
||||
#define GP_EVM_REV_IS_1_0 0x1
|
||||
@@ -600,23 +601,26 @@ static struct pinmux_config lcdc16_pin_mux[] = {
|
||||
|
||||
/* Module pin mux for Beagleboardtoys DVI cape */
|
||||
static struct pinmux_config dvia1_pin_mux[] = {
|
||||
- {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
- {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
{"gpmc_ad7.gpmc_ad7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
static struct pinmux_config dvia2_pin_mux[] = {
|
||||
- {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
- {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
{"gpmc_csn2.gpio1_31", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
/* Module pin mux for Beagleboardtoys 3.5" LCD cape */
|
||||
static struct pinmux_config bbtoys35_pin_mux[] = {
|
||||
+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
|
||||
+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
|
||||
{NULL, 0},
|
||||
};
|
||||
+
|
||||
/* Module pin mux for Beagleboardtoys 7" LCD cape */
|
||||
static struct pinmux_config bbtoys7_pin_mux[] = {
|
||||
{"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // AVDD_EN
|
||||
@@ -1018,6 +1022,7 @@ static struct pinmux_config lcd7_keys_pin_mux[] = {
|
||||
{"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
|
||||
{"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
|
||||
{"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
|
||||
+ {"gpmc_ben1.gpio1_28", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
||||
{NULL, 0},
|
||||
};
|
||||
|
||||
@@ -1327,6 +1332,94 @@ static struct platform_device dvi_leds_gpio = {
|
||||
},
|
||||
};
|
||||
|
||||
+#define BEAGLEBONELCD3_USR0_LED GPIO_TO_PIN(1, 18)
|
||||
+#define BEAGLEBONELCD3_USR1_LED GPIO_TO_PIN(1, 19)
|
||||
+
|
||||
+static struct gpio_led lcd3_gpio_leds[] = {
|
||||
+ {
|
||||
+ .name = "beaglebone::usr0",
|
||||
+ .default_trigger = "heartbeat",
|
||||
+ .gpio = BEAGLEBONE_USR1_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr1",
|
||||
+ .default_trigger = "mmc0",
|
||||
+ .gpio = BEAGLEBONE_USR2_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr2",
|
||||
+ .gpio = BEAGLEBONE_USR3_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr3",
|
||||
+ .gpio = BEAGLEBONE_USR4_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "lcd3::usr0",
|
||||
+ .default_trigger = "heartbeat",
|
||||
+ .gpio = BEAGLEBONELCD3_USR0_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "lcd3::usr1",
|
||||
+ .default_trigger = "mmc0",
|
||||
+ .gpio = BEAGLEBONELCD3_USR1_LED,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct gpio_led_platform_data lcd3_gpio_led_info = {
|
||||
+ .leds = lcd3_gpio_leds,
|
||||
+ .num_leds = ARRAY_SIZE(lcd3_gpio_leds),
|
||||
+};
|
||||
+
|
||||
+static struct platform_device lcd3_leds_gpio = {
|
||||
+ .name = "leds-gpio",
|
||||
+ .id = -1,
|
||||
+ .dev = {
|
||||
+ .platform_data = &lcd3_gpio_led_info,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+#define BEAGLEBONELCD7_USR_LED GPIO_TO_PIN(1, 28)
|
||||
+
|
||||
+static struct gpio_led lcd7_gpio_leds[] = {
|
||||
+ {
|
||||
+ .name = "beaglebone::usr0",
|
||||
+ .default_trigger = "heartbeat",
|
||||
+ .gpio = BEAGLEBONE_USR1_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr1",
|
||||
+ .default_trigger = "mmc0",
|
||||
+ .gpio = BEAGLEBONE_USR2_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr2",
|
||||
+ .gpio = BEAGLEBONE_USR3_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "beaglebone::usr3",
|
||||
+ .gpio = BEAGLEBONE_USR4_LED,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "lcd7::usr",
|
||||
+ .default_trigger = "heartbeat",
|
||||
+ .gpio = BEAGLEBONELCD7_USR_LED,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct gpio_led_platform_data lcd7_gpio_led_info = {
|
||||
+ .leds = lcd7_gpio_leds,
|
||||
+ .num_leds = ARRAY_SIZE(lcd7_gpio_leds),
|
||||
+};
|
||||
+
|
||||
+static struct platform_device lcd7_leds_gpio = {
|
||||
+ .name = "leds-gpio",
|
||||
+ .id = -1,
|
||||
+ .dev = {
|
||||
+ .platform_data = &lcd7_gpio_led_info,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static struct pinmux_config bone_pin_mux[] = {
|
||||
/* User LED gpios (gpio1_21 to gpio1_24) */
|
||||
{"gpmc_a5.rgmii2_td0", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
||||
@@ -1595,6 +1688,22 @@ static void dvileds_init(int evm_id, int profile )
|
||||
pr_err("failed to register BeagleBone DVI cape LEDS\n");
|
||||
}
|
||||
|
||||
+static void lcd3leds_init(int evm_id, int profile )
|
||||
+{
|
||||
+ int err;
|
||||
+ err = platform_device_register(&lcd3_leds_gpio);
|
||||
+ if (err)
|
||||
+ pr_err("failed to register BeagleBone LCD cape LEDs\n");
|
||||
+}
|
||||
+
|
||||
+static void lcd7leds_init(int evm_id, int profile )
|
||||
+{
|
||||
+ int err;
|
||||
+ err = platform_device_register(&lcd7_leds_gpio);
|
||||
+ if (err)
|
||||
+ pr_err("failed to register BeagleBone LCD cape LED\n");
|
||||
+}
|
||||
+
|
||||
static void bonew1_gpio_init(int evm_id, int profile )
|
||||
{
|
||||
int err;
|
||||
@@ -2102,10 +2211,15 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config));
|
||||
if (ret != sizeof(cape_config)) {
|
||||
pr_warning("BeagleBone cape EEPROM: could not read eeprom at address 0x%x\n", capecount + 0x53);
|
||||
- if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) {
|
||||
- pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
|
||||
- bone_tsc_init(0,0);
|
||||
- beaglebone_tsadcpins_free = 0;
|
||||
+ if (capecount > 3) {
|
||||
+ if (beaglebone_tsadcpins_free == 1) {
|
||||
+ pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
|
||||
+ bone_tsc_init(0,0);
|
||||
+ beaglebone_tsadcpins_free = 0;
|
||||
+ }
|
||||
+ if (beaglebone_leds_free == 1) {
|
||||
+ boneleds_init(0,0);
|
||||
+ }
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -2127,6 +2241,9 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
if (!strncmp("BB-BONE-DVID-01", cape_config.partnumber, 15)) {
|
||||
pr_info("BeagleBone cape: initializing DVI cape\n");
|
||||
|
||||
+ beaglebone_leds_free = 0;
|
||||
+ dvileds_init(0,0);
|
||||
+
|
||||
if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) {
|
||||
pr_info("BeagleBone cape: DVI init for revision A1 or older\n");
|
||||
setup_pin_mux(dvia1_pin_mux);
|
||||
@@ -2151,6 +2268,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
beaglebone_tsadcpins_free = 0;
|
||||
pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
|
||||
beaglebone_lcd7_keys_init(0,0);
|
||||
+
|
||||
+ // A1 or newer
|
||||
+ beaglebone_leds_free = 0;
|
||||
+ lcd7leds_init(0,0);
|
||||
}
|
||||
|
||||
if (!strncmp("BB-BONE-LCD3-01", cape_config.partnumber, 15)) {
|
||||
@@ -2161,6 +2282,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
beaglebone_tsadcpins_free = 0;
|
||||
pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
|
||||
beaglebone_lcd3_keys_init(0,0);
|
||||
+ beaglebone_leds_free = 0;
|
||||
+ lcd3leds_init(0,0);
|
||||
}
|
||||
|
||||
if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) {
|
||||
@@ -2659,7 +2782,6 @@ static struct evm_dev_cfg beaglebone_dev_cfg[] = {
|
||||
{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},
|
||||
{bonew1_gpio_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
||||
{NULL, 0, 0},
|
||||
};
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From 8688e4d9d9bdf1a9ff34b77b9a5b5ac22ca1c548 Mon Sep 17 00:00:00 2001
|
||||
From: Bas Laarhoven <sjml@xs4all.nl>
|
||||
Date: Sun, 13 May 2012 18:06:24 +0200
|
||||
Subject: [PATCH 36/40] Beaglebone: Fixed compiletime warnings.
|
||||
|
||||
Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index 8db33b9..b48e0fd 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <linux/opp.h>
|
||||
#include <linux/w1-gpio.h>
|
||||
#include <linux/can/platform/mcp251x.h>
|
||||
+#include <linux/input/ti_tscadc.h>
|
||||
|
||||
/* LCD controller is similar to DA850 */
|
||||
#include <video/da8xx-fb.h>
|
||||
@@ -300,7 +301,6 @@ struct da8xx_lcdc_platform_data dvi_pdata = {
|
||||
};
|
||||
|
||||
/* TSc controller */
|
||||
-#include <linux/input/ti_tscadc.h>
|
||||
#include <linux/lis3lv02d.h>
|
||||
|
||||
/* TSc controller */
|
||||
@@ -2200,13 +2200,13 @@ static void tt3201_init(int evm_id, int profile)
|
||||
}
|
||||
static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context)
|
||||
{
|
||||
- capecount++;
|
||||
int ret;
|
||||
char tmp[32];
|
||||
char name[32];
|
||||
char version[4];
|
||||
char manufacturer[32];
|
||||
|
||||
+ capecount++;
|
||||
/* get cape specific data */
|
||||
ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config));
|
||||
if (ret != sizeof(cape_config)) {
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From f1f19044cff0ac6a145c4f14782e4ddb78bb38cb Mon Sep 17 00:00:00 2001
|
||||
From: Bas Laarhoven <sjml@xs4all.nl>
|
||||
Date: Sun, 13 May 2012 18:18:52 +0200
|
||||
Subject: [PATCH 37/40] Beaglebone: Added missing termination record to
|
||||
bone_pin_mux data.
|
||||
|
||||
Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index b48e0fd..7dbeac6 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -1428,6 +1428,7 @@ static struct pinmux_config bone_pin_mux[] = {
|
||||
{"gpmc_a8.rgmii2_rd3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
||||
/* Grounding gpio1_6 (pin 3 Conn A) signals bone tester to start diag tests */
|
||||
{"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
|
||||
+ {NULL, 0},
|
||||
};
|
||||
|
||||
/* Module pin mux for eCAP0 */
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From 557ed6bc4850bcb4610ff1b9e024a4fd13785c27 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Kellett <r-kellett@ti.com>
|
||||
Date: Mon, 14 May 2012 09:35:35 +0100
|
||||
Subject: [PATCH 38/40] board-am335xevm.c: Beaglebone - expose all pwms
|
||||
through sysfs
|
||||
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++-
|
||||
1 files changed, 19 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index 7dbeac6..c9ee0a2 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -1509,6 +1509,16 @@ static struct pwmss_platform_data pwm_pdata[3] = {
|
||||
},
|
||||
};
|
||||
|
||||
+static void register_all_pwms(void)
|
||||
+{
|
||||
+ am33xx_register_ehrpwm(0, &pwm_pdata[0]);
|
||||
+ am33xx_register_ehrpwm(1, &pwm_pdata[1]);
|
||||
+ am33xx_register_ehrpwm(2, &pwm_pdata[2]);
|
||||
+ am33xx_register_ecap(0, &pwm_pdata[0]);
|
||||
+ am33xx_register_ecap(1, &pwm_pdata[1]);
|
||||
+ am33xx_register_ecap(2, &pwm_pdata[2]);
|
||||
+}
|
||||
+
|
||||
static int __init ecap0_init(void)
|
||||
{
|
||||
int status = 0;
|
||||
@@ -1524,7 +1534,10 @@ late_initcall(ecap0_init);
|
||||
static void enable_ehrpwm1(int evm_id, int profile)
|
||||
{
|
||||
ehrpwm_backlight_enable = true;
|
||||
- am33xx_register_ehrpwm(1, &pwm_pdata[1]);
|
||||
+ /*am33xx_register_ehrpwm(1, &pwm_pdata[1]);
|
||||
+ *TODO:no longer required as we are registering
|
||||
+ *all pwms for the beaglebone
|
||||
+ */
|
||||
}
|
||||
|
||||
/* Setup pwm-backlight for bbtoys7lcd */
|
||||
@@ -2883,6 +2896,11 @@ static void setup_beaglebone(void)
|
||||
|
||||
/* Fill up global evmid */
|
||||
am33xx_evmid_fillup(BEAGLE_BONE_A3);
|
||||
+
|
||||
+ /*TODO:We are registering all pwms for the beaglebone here
|
||||
+ *this may effect power management in the future
|
||||
+ */
|
||||
+ register_all_pwms();
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
From b8241eee030b29f23a5792de1eec03830699ae98 Mon Sep 17 00:00:00 2001
|
||||
From: Bas Laarhoven <sjml@xs4all.nl>
|
||||
Date: Sun, 13 May 2012 18:09:57 +0200
|
||||
Subject: [PATCH 39/40] ARM: OMAP: Mux: Fixed debugfs mux output (always
|
||||
reporting pins as output)
|
||||
|
||||
Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++-----------------
|
||||
1 files changed, 38 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
|
||||
index e1cc75d..5899266 100644
|
||||
--- a/arch/arm/mach-omap2/mux.c
|
||||
+++ b/arch/arm/mach-omap2/mux.c
|
||||
@@ -522,41 +522,55 @@ static inline void omap_mux_decode(struct seq_file *s, u16 val)
|
||||
i++;
|
||||
flags[i] = mode;
|
||||
|
||||
- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_OFF_WAKEUPENABLE);
|
||||
- if (val & OMAP_OFF_EN) {
|
||||
- if (!(val & OMAP_OFFOUT_EN)) {
|
||||
- if (!(val & OMAP_OFF_PULL_UP)) {
|
||||
- OMAP_MUX_TEST_FLAG(val,
|
||||
- OMAP_PIN_OFF_INPUT_PULLDOWN);
|
||||
+ if (cpu_is_am33xx()) {
|
||||
+ if (val & AM33XX_INPUT_EN) {
|
||||
+ if (val & AM33XX_PULL_DISA) {
|
||||
+ flags[ ++i] = "OMAP_PIN_INPUT";
|
||||
+ } else if (val & AM33XX_PULL_UP) {
|
||||
+ flags[ ++i] = "OMAP_PIN_INPUT_PULLUP";
|
||||
} else {
|
||||
- OMAP_MUX_TEST_FLAG(val,
|
||||
- OMAP_PIN_OFF_INPUT_PULLUP);
|
||||
+ flags[ ++i] = "OMAP_PIN_INPUT_PULLDOWN";
|
||||
}
|
||||
} else {
|
||||
- if (!(val & OMAP_OFFOUT_VAL)) {
|
||||
- OMAP_MUX_TEST_FLAG(val,
|
||||
- OMAP_PIN_OFF_OUTPUT_LOW);
|
||||
+ flags[ ++i] = "OMAP_PIN_OUTPUT";
|
||||
+ }
|
||||
+ } else {
|
||||
+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_OFF_WAKEUPENABLE);
|
||||
+ if (val & OMAP_OFF_EN) {
|
||||
+ if (!(val & OMAP_OFFOUT_EN)) {
|
||||
+ if (!(val & OMAP_OFF_PULL_UP)) {
|
||||
+ OMAP_MUX_TEST_FLAG(val,
|
||||
+ OMAP_PIN_OFF_INPUT_PULLDOWN);
|
||||
+ } else {
|
||||
+ OMAP_MUX_TEST_FLAG(val,
|
||||
+ OMAP_PIN_OFF_INPUT_PULLUP);
|
||||
+ }
|
||||
} else {
|
||||
- OMAP_MUX_TEST_FLAG(val,
|
||||
- OMAP_PIN_OFF_OUTPUT_HIGH);
|
||||
+ if (!(val & OMAP_OFFOUT_VAL)) {
|
||||
+ OMAP_MUX_TEST_FLAG(val,
|
||||
+ OMAP_PIN_OFF_OUTPUT_LOW);
|
||||
+ } else {
|
||||
+ OMAP_MUX_TEST_FLAG(val,
|
||||
+ OMAP_PIN_OFF_OUTPUT_HIGH);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
- }
|
||||
|
||||
- if (val & OMAP_INPUT_EN) {
|
||||
- if (val & OMAP_PULL_ENA) {
|
||||
- if (!(val & OMAP_PULL_UP)) {
|
||||
- OMAP_MUX_TEST_FLAG(val,
|
||||
- OMAP_PIN_INPUT_PULLDOWN);
|
||||
+ if (val & OMAP_INPUT_EN) {
|
||||
+ if (val & OMAP_PULL_ENA) {
|
||||
+ if (!(val & OMAP_PULL_UP)) {
|
||||
+ OMAP_MUX_TEST_FLAG(val,
|
||||
+ OMAP_PIN_INPUT_PULLDOWN);
|
||||
+ } else {
|
||||
+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT_PULLUP);
|
||||
+ }
|
||||
} else {
|
||||
- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT_PULLUP);
|
||||
+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT);
|
||||
}
|
||||
} else {
|
||||
- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT);
|
||||
+ i++;
|
||||
+ flags[i] = "OMAP_PIN_OUTPUT";
|
||||
}
|
||||
- } else {
|
||||
- i++;
|
||||
- flags[i] = "OMAP_PIN_OUTPUT";
|
||||
}
|
||||
|
||||
do {
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
From d4527038dac639f1066b529cbcc368de91d2f525 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Mon, 14 May 2012 14:23:45 +0200
|
||||
Subject: [PATCH 40/40] beaglebone: export SPI2 as spidev when no capes are
|
||||
using SPI
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++----
|
||||
1 files changed, 21 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
index c9ee0a2..a0fa53a 100644
|
||||
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
||||
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
||||
@@ -497,6 +497,7 @@ static bool beaglebone_cape_detected;
|
||||
static int capecount = 0;
|
||||
static bool beaglebone_tsadcpins_free = 1;
|
||||
static bool beaglebone_leds_free = 1;
|
||||
+static bool beaglebone_spi1_free = 1;
|
||||
|
||||
|
||||
#define GP_EVM_REV_IS_1_0 0x1
|
||||
@@ -1897,6 +1898,16 @@ static struct spi_board_info am335x_spi1_slave_info[] = {
|
||||
},
|
||||
};
|
||||
|
||||
+static struct spi_board_info bone_spidev2_info[] = {
|
||||
+ {
|
||||
+ .modalias = "spidev",
|
||||
+ .irq = -1,
|
||||
+ .max_speed_hz = 12000000,
|
||||
+ .bus_num = 2,
|
||||
+ .chip_select = 0,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static struct gpmc_timings am335x_nand_timings = {
|
||||
.sync_clk = 0,
|
||||
|
||||
@@ -2199,8 +2210,9 @@ static struct spi_board_info tt3201_spi_info[] = {
|
||||
|
||||
static void tt3201_init(int evm_id, int profile)
|
||||
{
|
||||
- pr_info("TowerTech TT3201 CAN Cape\n");
|
||||
-
|
||||
+ pr_info("TowerTech TT3201 CAN cape\n");
|
||||
+
|
||||
+ beaglebone_spi1_free = 0;
|
||||
setup_pin_mux(spi1_pin_mux);
|
||||
setup_pin_mux(tt3201_pin_mux);
|
||||
|
||||
@@ -2234,12 +2246,18 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
|
||||
if (beaglebone_leds_free == 1) {
|
||||
boneleds_init(0,0);
|
||||
}
|
||||
+ if(beaglebone_spi1_free == 1) {
|
||||
+ beaglebone_spi1_free = 0;
|
||||
+ pr_info("BeagleBone cape: exporting SPI pins as spidev\n");
|
||||
+ setup_pin_mux(spi1_pin_mux);
|
||||
+ spi_register_board_info(bone_spidev2_info, ARRAY_SIZE(bone_spidev2_info));
|
||||
+ }
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (cape_config.header != AM335X_EEPROM_HEADER) {
|
||||
- pr_warning("BeagleBone Cape EEPROM: wrong header 0x%x, expected 0x%x\n",
|
||||
+ pr_warning("BeagleBone cape EEPROM: wrong header 0x%x, expected 0x%x\n",
|
||||
cape_config.header, AM335X_EEPROM_HEADER);
|
||||
goto out;
|
||||
}
|
||||
@@ -2630,7 +2648,6 @@ static void spi1_init(int evm_id, int profile)
|
||||
return;
|
||||
}
|
||||
|
||||
-
|
||||
static int beaglebone_phy_fixup(struct phy_device *phydev)
|
||||
{
|
||||
phydev->supported &= ~(SUPPORTED_100baseT_Half |
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
@@ -12,7 +12,7 @@ MULTI_CONFIG_BASE_SUFFIX = ""
|
||||
|
||||
BRANCH = "v3.2-staging"
|
||||
SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01"
|
||||
MACHINE_KERNEL_PR_append = "h+gitr${SRCREV}"
|
||||
MACHINE_KERNEL_PR_append = "i+gitr${SRCREV}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ti33x)"
|
||||
|
||||
@@ -960,5 +960,12 @@ PATCHES_OVER_PSP = " \
|
||||
file://beaglebone/0031-beaglebone-fix-3.5-cape-support.patch \
|
||||
file://beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch \
|
||||
file://beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch \
|
||||
file://beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch \
|
||||
file://beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch \
|
||||
file://beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch \
|
||||
file://beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch \
|
||||
file://beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch \
|
||||
file://beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch \
|
||||
file://beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch \
|
||||
file://beaglebone/0001-arm-boot-compressed-default-asm-arch-to-armv7-a.patch \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user