Private
Public Access
2
0
Commit Graph

54 Commits

Author SHA1 Message Date
Brendan Le Foll
0aac9df414 Revert "intel_edison_fab_c.c: Don't initiate SPI pins when initializing MRAA"
This reverts commit 5c7bab1c79. Fixes #280.
2015-09-16 07:42:43 +01:00
Evan Steele
e2aaa349ff minnowboardmax: Add support for compatible boards
Signed-off-by: Evan Steele <evan.steele@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-15 15:38:46 +01:00
Petre Eftime
0071039fa0 intel_galileo_rev_g.c: Fix uninitialized subplatform on Galileo Gen2
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-15 15:26:16 +01:00
Jonas Norling
5c7bab1c79 intel_edison_fab_c.c: Don't initiate SPI pins when initializing MRAA
Calling mraa_intel_edison_misc_spi() is not really needed, because the
GPIO 10..13 pins will be configured correctly when the user actually
inits them as GPIO pins. When using these pins for GPIO,
mraa_setup_mux_mapped() and mraa_intel_edison_gpio_init_post() will do
all this work based on the pin map and pinmodes for the Edison Arduino
board.

On the contrary, this function would break any user of the SPI bus
that is already running.

Signed-off-by: Jonas Norling <jonas.norling@connode.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-14 10:26:43 +01:00
Brendan Le Foll
17eb7a791a intel_galileo_rev_d.c: Fixed missing goto leaving board unfreed in error case
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-08 15:00:40 +01:00
Brendan Le Foll
07343e2ee7 mraa: Remove global advance_func struct and place it in platform configuration
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-08 14:42:04 +01:00
Henry Bruce
5740e46ae0 x86: advance_func now stored in mraa_board_t instance
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-08 14:42:03 +01:00
Henry Bruce
6302b635aa intel_edison: Now uses mraa_board_t instance of advanced function table
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-08 14:42:03 +01:00
Henry Bruce
8f48df0533 usb: Skeleton platform code for FTDI FT4222 USB to i2c bridge
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-08 14:42:03 +01:00
Brendan Le Foll
f95f2d8b35 nuc5: Add i2c support for intel 5th generation NUC
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-03 11:23:35 +01:00
Brendan Le Foll
c80883621e intel_minnow_max.c: add support for uart
Closes #266

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-01 10:31:14 +01:00
Brendan Le Foll
0256b680f1 intel_de3815.c: Use MRAA_INTEL_DE3815_PINCOUNT macro for pincount
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-26 16:52:41 +01:00
Brendan Le Foll
2504e36e5f intel_minnow_max.c: change i2c bus count to 0
There are technically two i2c buses that are user accesible on minnowboard max
but the other one is on the high speed expansion header that I've never tested
and it's not mapped in mraa so leave this to 1 until someone enables it.

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-25 11:36:14 +01:00
Brendan Le Foll
9b9a5ab168 intel_minnow_max.c: Fix default i2c bus mechanism
Fixes #251. default_i2c_bus was set to 7 before setting actual parameters for
it leading to obvious failure as 0 != 7

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-20 23:12:39 +01:00
Brendan Le Foll
9c0753cb18 npm: Fix npm builds for ARM hosts
NPM builds don't support cross compiling and will always compile for the host.
Binding.gyp now uses mraa_NPM_SRCS instead of mraa_LIB_SRCS_NOAUTO which
contains all platforms. Cmake now uses mraa_LIB_PLAT_SRCS_NOAUTO to provide all
the sources. NPM builds will build objects for all platforms reguardless of
space which does meann slightly bigger binaries.

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-24 14:04:48 +01:00
Brendan Le Foll
df0dbb0c73 mraa: add internal mraa_find_i2c_bus function
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-10 11:11:41 +01:00
Brendan Le Foll
184a71aaa1 intel_de3815: avoid double free in case of error
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-08 10:34:32 +01:00
Brendan Le Foll
7f34a5c9cf intel_de3815.c: Add error handling to seeks and avoid reading past buffer size
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-08 10:34:32 +01:00
Brendan Le Foll
f9dd4c06de intel_de3815.c: check i2c device fd
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-08 09:39:52 +01:00
Brendan Le Foll
5131349c4d intel_de3815.c: go up to i2c-8 to find designware i2c adapter
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-08 09:39:30 +01:00
Brendan Le Foll
12620cee0e intel_minnow_max.c: Use MAX_LENGTH for strn commands
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-06 13:41:39 +01:00
Brendan Le Foll
af41d56597 intel_minnow_max.c: Fix SPI CLK having uninitialised mux total
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-06 11:48:44 +01:00
Brendan Le Foll
8a95972774 intel_edison_fab_c.c: check fstat return value
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-01 10:59:03 +01:00
Brendan Le Foll
f080a74497 gpio: all gpio enums prefixed with _mraa
Enum C types for gpio where not all prefixed with mraa correctly, now fixed

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-01 10:59:03 +01:00
Thomas Ingleby
5ccd7a675f x86: de3815: detect correct i2c-dev
Will search for the designware i2c devices
Closes #198
Closes #203

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-06-30 14:52:55 +01:00
Thomas Ingleby
1ef71bb370 x86: Galileo Gen 2: add ftdi header serial
Closes #138

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-06-29 20:09:45 +01:00
Thomas Ingleby
79d1acd17f x86: edison: add check in init_pre uart hook
If none 0 index passed, will log error.
Related to #152

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-06-29 19:49:55 +01:00
Alex Tereschenko
ea31104db0 intel_edison_fab_c.c: added spi_lsbmode_replace to return proper status
Edison SPI driver doesn't support LSB_FIRST mode, we will now return
_FEATURE_NOT_SUPPORTED instead of _INVALID_RESOURCE
for attempts to enable it.

Closes #22.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-22 19:26:30 +01:00
Alex Tereschenko
c9cfcb2cae intel_galileo_rev_d.c: added spi_lsbmode_replace to return correct status.
Galileo Gen1 doesn't support LSB_FIRST mode, so let's
return MRAA_ERROR_FEATURE_NOT_SUPPORTED instead of <...>_INVALID_RESOURCE.

Closes #178.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-15 09:56:49 +01:00
Brendan Le Foll
ffcf3d7d07 clang-format: run clang-format on C/C++ code
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-23 15:15:48 +00:00
Brendan Le Foll
c621fad5f3 intel_minnow_max.c: Add support for spi
This commit also adds a bit of documentation on the low speed spi kernel module
required

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-13 16:29:36 +00:00
Brendan Le Foll
7375146295 intel_edison_fab_c.c: let the edison spi driver select the correct method for CS
Gpio 111 controls the use of hardware CS by the edison kernel's SPI driver.
This is an issue as that CS will go high between every byte transmitted. The
solution is to let gpio 111 alone and let the driver decide what is best. This
fixes #137

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-03 14:29:21 +00:00
Brendan Le Foll
677af126aa intel_edison_fab_c.c: Fix frequency setting on edison r2 images
This reworks the mraa_intel_edison_i2c_freq() function. i2c_dw_sysnode is a
folder not a file so we need to grab the mode file from that folder. We now
also support i2c-1 frequency changing

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-01 17:17:53 +00:00
Brendan Le Foll
10f450b3f6 x86.c: unknown init now returns MRAA_UNKNOWN_PLATFORM
This stops the legacy beahviour that was to initialise as a gen1 galileo if we
failed to find a valid dmi name. Closes #142

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-01 10:12:06 +00:00
Brendan Le Foll
4d81fec6c9 intel_minnow_max.c: define gpio.mux_total
Not defining this causes undefined behaviour leading to the check mux_total
sometimes being true and asking the kernel to export all sorts of garbage gpio

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-27 14:12:06 +00:00
Alex Tereschenko
e68546ad85 x86.c/mraa_x86_platform: added dedicated block for Galileo Gen1 init
Closes #99.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-26 15:16:32 +00:00
Thomas Ingleby
53a9a7dce4 internal/platform_name: move to const char*
Instead of plain char* to avoid need to malloc and do all the needed
error checking needed that goes along with that.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-21 15:35:54 +00:00
Brendan Le Foll
4e5991779a cov: add some explicit includes that where missing
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-20 17:15:13 +00:00
Thomas Ingleby
25bd897ec5 uart: use const char* instead of plain char*
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-20 17:14:12 +00:00
Thomas Ingleby
9cfbc87924 uart: add function mraa_uart_get_dev_path
Used for getting the path to the character device under linux for uart
device. i.e. "/dev/ttyS0"

Adds paths to existing platforms.
Closes #84

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-20 16:08:49 +00:00
Brendan Le Foll
219eeed5f8 x86.c: remove duplicate case statement
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2001-01-01 02:53:16 +00:00
Brendan Le Foll
c45e3c8c58 x86/intel_minnow_max.c: remove definitions duplication
Since gpios are +256 in 3.18+ kernels this stops dual definitions and possible
issues later on if errors are found

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2001-01-01 02:53:16 +00:00
Brendan Le Foll
5dc28d9800 x86/intel_minnow_max.c: add board gpio count
Whilst this value is not used because it's only required by the aio module it
is interesting to have this information if we want to expose it to the user

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2001-01-01 02:53:16 +00:00
John 'Warthog9' Hawley
d8bef92bbe x86/intel_minnow_max.c: Adjust gpio pins based on kernel version
This should adjust the pinouts, at runtime, based on the current
kernel that's in use.  The Linux kernel made a change between
3.17 and 3.18 ( specifically ea584595fc85e65796335033dfca25ed655cd0ed )
that changed the numbering for GPIOs.  This obviously breaks everything
for mraa on the MinnowBoard MAX if you have a 3.18 or newer kernel.

Signed-off-by: John 'Warthog9' Hawley <john.hawley@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2001-01-01 02:53:16 +00:00
Thomas Ingleby
a76061a981 x86/galileo_gen2: correct mistake on IO11 for SPI
Fixes #89

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-09 16:47:01 +00:00
Kurt Eckhardt
3efb7a03e1 intel_edison_fab_c.c: move gpio_close_pre to miniboard
The gpio_close_pre was put on the wrong board definition. So calling close of
GPIO pin on mini-board caused a fault

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-06 17:49:51 +00:00
Brendan Le Foll
cc9a4f59b5 edison: add mraa_i2c_frequency replace hook for i2c-6
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-05 14:38:50 +00:00
Kurt Eckhardt
bc05ce7078 x86/galileo-gen2: Speed up mraa_gpio_dir
Made like changes to Edison to cache the output enable.

Note: different than Edison as the pin structure holds enable pin number
instead of external array.

2nd note: noticed PU resistors are also in structure but there is also
external array.

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-19 14:40:02 +00:00
Kurt Eckhardt
455ab6f063 x86/edison: Speed up mraa_gpio_dir
Reasonable speed up in the mraa_gpio_dir on the Edison Arduino board

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-19 14:40:02 +00:00
Thomas Ingleby
f7256f1d5b x86/galileo-gen2: correct SPI MOSI mux info
Fixes #67

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-12-12 20:41:00 +00:00