Private
Public Access
2
0

arm: added support for all models of Raspbery Pi A/B/A+/B+ & 2B

Includes SPI,I2C,GPIO and mmap access to GPIO. This commit removes the _b
suffix to the rpi board file

Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Michael Ring
2015-02-15 12:55:15 +01:00
committed by Brendan Le Foll
parent 581184d8fd
commit 3597d8a805
4 changed files with 585 additions and 200 deletions

View File

@@ -1,5 +1,6 @@
/*
* Author: Thomas Ingleby <thomas.c.ingleby@intel.com>
* Author: Michael Ring <mail@michael-ring.org>
* Copyright (c) 2014 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
@@ -23,18 +24,40 @@
*/
#include <stdlib.h>
#include <string.h>
#include "mraa_internal.h"
#include "arm/raspberry_pi_b.h"
#include "arm/raspberry_pi.h"
mraa_platform_t
mraa_arm_platform()
{
mraa_platform_t platform_type = MRAA_UNKNOWN_PLATFORM;
size_t len = 100;
char *line = malloc(len);
FILE *fh = fopen("/proc/cpuinfo", "r");
if (fh != NULL) {
while (getline(&line, &len, fh) != -1) {
if (strncmp(line, "Hardware", 8) == 0) {
if (strstr(line, "BCM2708")) {
platform_type = MRAA_RASPBERRY_PI;
}
if (strstr(line, "BCM2709")) {
platform_type = MRAA_RASPBERRY_PI;
}
}
}
fclose(fh);
}
free(line);
//For the Time being, Will always be Raspberry PI when running ARM
platform_type = MRAA_RASPBERRY_PI_B;
plat = mraa_raspberry_pi_b();
switch(platform_type) {
case MRAA_RASPBERRY_PI:
plat = mraa_raspberry_pi();
break;
default:
plat = mraa_raspberry_pi();
syslog(LOG_ERR, "Platform not supported, initialising as MRAA_RASPBERRY_PI");
}
return platform_type;
}