summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Musca <constantin.musca@intel.com>2016-01-25 13:19:45 +0200
committerStefan Stanacar <stefan.stanacar@intel.com>2016-01-29 20:50:03 +0200
commitb5f08bc6ec135c729fb522362190825e74ae6f1e (patch)
treee3e090dcab0060c6abdcd66e74e1cd6248b6b13b
parent6b1611a178516c059b80b1fecb9bbea070a00d0d (diff)
downloadintel-b5f08bc6ec135c729fb522362190825e74ae6f1e.tar.gz
libmraa: minnow: include Turbot additions
The pinout for the Low Speed Expansion on the MinnowBoard Turbot is the same as the MinnowBoard MAX A2 design, with the exception of pin 26. Pin 26 was changed to provide an MCLK reference clock for I2S. In addition, the D2 LED is now under GPIO control. Add support for these changes. BUG=none Change-Id: Id3153af731a32afbc7b1b69c8ccab909f48ef4b0 Tracked-On: https://jira01.devtools.intel.com/browse/BP-244 Signed-off-by: Constantin Musca <constantin.musca@intel.com>
-rw-r--r--peripheral/libmraa/include/x86/intel_minnow_byt_compatible.h1
-rw-r--r--peripheral/libmraa/src/x86/intel_minnow_byt_compatible.c15
2 files changed, 11 insertions, 5 deletions
diff --git a/peripheral/libmraa/include/x86/intel_minnow_byt_compatible.h b/peripheral/libmraa/include/x86/intel_minnow_byt_compatible.h
index 5e4453c..4316df5 100644
--- a/peripheral/libmraa/include/x86/intel_minnow_byt_compatible.h
+++ b/peripheral/libmraa/include/x86/intel_minnow_byt_compatible.h
@@ -32,6 +32,7 @@ extern "C" {
// +1 as pins are "1 indexed"
#define MRAA_INTEL_MINNOW_MAX_PINCOUNT (26 + 1)
+#define MRAA_INTEL_MINNOW_TURBOT_PINCOUNT (27 + 1)
mraa_board_t*
mraa_intel_minnowboard_byt_compatible(mraa_boolean_t);
diff --git a/peripheral/libmraa/src/x86/intel_minnow_byt_compatible.c b/peripheral/libmraa/src/x86/intel_minnow_byt_compatible.c
index 6d62516..a53cca8 100644
--- a/peripheral/libmraa/src/x86/intel_minnow_byt_compatible.c
+++ b/peripheral/libmraa/src/x86/intel_minnow_byt_compatible.c
@@ -89,7 +89,7 @@ mraa_intel_minnowboard_byt_compatible(mraa_boolean_t turbot)
mraa_board_t* b = (mraa_board_t*) calloc(1, sizeof(mraa_board_t));
struct utsname running_uname;
- int uname_major, uname_minor, max_pins[27];
+ int uname_major, uname_minor, max_pins[28];
if (b == NULL) {
return NULL;
@@ -98,13 +98,13 @@ mraa_intel_minnowboard_byt_compatible(mraa_boolean_t turbot)
b->platform_name = PLATFORM_NAME;
if (turbot) {
b->platform_version = "Turbot";
+ b->gpio_count = b->phy_pin_count = MRAA_INTEL_MINNOW_TURBOT_PINCOUNT;
} else {
b->platform_version = "Ax";
+ b->gpio_count = b->phy_pin_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
}
- b->phy_pin_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
- b->gpio_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
- b->pins = (mraa_pininfo_t*) calloc(MRAA_INTEL_MINNOW_MAX_PINCOUNT, sizeof(mraa_pininfo_t));
+ b->pins = (mraa_pininfo_t*) calloc(b->phy_pin_count, sizeof(mraa_pininfo_t));
if (b->pins == NULL) {
goto error;
}
@@ -160,7 +160,12 @@ mraa_intel_minnowboard_byt_compatible(mraa_boolean_t turbot)
mraa_set_pininfo(b, 24, "PWM1", (mraa_pincapabilities_t){ 1, 0, 1, 0, 0, 0, 0, 0 },
249); // Assume BIOS configured for PWM
mraa_set_pininfo(b, 25, "S5_4", (mraa_pincapabilities_t){ 1, 1, 0, 0, 0, 0, 0, 0 }, 84);
- mraa_set_pininfo(b, 26, "IBL8254", (mraa_pincapabilities_t){ 1, 1, 0, 0, 0, 0, 0, 0 }, 208);
+ if (turbot) {
+ mraa_set_pininfo(b, 26, "I2S_MCLK", (mraa_pincapabilities_t){ 1, 1, 0, 0, 0, 0, 0, 0 }, 253);
+ mraa_set_pininfo(b, 27, "S5_22", (mraa_pincapabilities_t){ 1, 1, 0, 0, 0, 0, 0, 0 }, 104);
+ } else {
+ mraa_set_pininfo(b, 26, "IBL8254", (mraa_pincapabilities_t){ 1, 1, 0, 0, 0, 0, 0, 0 }, 208);
+ }
// Set number of i2c adaptors usable from userspace
b->i2c_bus_count = 1;