From 71b87904a0554442190d101642df6d2e1a629285 Mon Sep 17 00:00:00 2001 From: Manivannan Sadhasivam Date: Mon, 2 Jul 2018 12:27:14 +0530 Subject: [PATCH] 96boards: Cleanup the board support This commit cleans up the 96boards board support by sorting the boards in alphabetical manner and also executing clang-format for 96boards.c Signed-off-by: Manivannan Sadhasivam --- docs/96boards.md | 2 +- src/arm/96boards.c | 37 +++++++++++++++++++++---------------- src/arm/arm.c | 6 +++--- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/docs/96boards.md b/docs/96boards.md index 7354eb1..baa8a5e 100644 --- a/docs/96boards.md +++ b/docs/96boards.md @@ -8,11 +8,11 @@ Standardized expansion buses for peripheral I/O have led to a wide range of comp Board Support ------------- +- [Bubblegum-96](http://www.96boards.org/product/bubblegum-96/) - [DragonBoard 410c](http://www.96boards.org/product/dragonboard410c/) - [DragonBoard 820c](http://www.96boards.org/product/dragonboard820c/) - [HiKey](http://www.96boards.org/product/hikey/) - [HiKey960](http://www.96boards.org/product/hikey960/) -- [Bubblegum-96](http://www.96boards.org/product/bubblegum-96/) - [Rock960](http://www.96boards.org/product/rock960/) Interface notes diff --git a/src/arm/96boards.c b/src/arm/96boards.c index 2e8db29..e01b3cf 100644 --- a/src/arm/96boards.c +++ b/src/arm/96boards.c @@ -36,16 +36,22 @@ #define DT_BASE "/proc/device-tree" +#define PLATFORM_NAME_BBGUM "BBGUM" #define PLATFORM_NAME_DB410C "DB410C" #define PLATFORM_NAME_DB820C "DB820C" #define PLATFORM_NAME_HIKEY "HIKEY" #define PLATFORM_NAME_HIKEY960 "HIKEY960" -#define PLATFORM_NAME_BBGUM "BBGUM" #define PLATFORM_NAME_ROCK960 "ROCK960" #define MAX_SIZE 64 #define MMAP_PATH "/dev/mem" #define DB410C_MMAP_REG 0x01000000 +// Bubblegum-96 +int bbgum_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 155, 154 }; + +const char* bbgum_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyS3", "/dev/ttyS5" }; + +// Dragonboard410c int db410c_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 36, 12, 13, 69, 115, 4, 24, 25, 35, 34, 28, 33, }; @@ -57,17 +63,19 @@ int db410c_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { const char* db410c_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyMSM0", "/dev/ttyMSM1" }; +// Dragonboard820c int db820c_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 80, 29, 124, 24, 62, 507, 10, 8, 25, 26, 23, 133, }; int db820c_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { { 0, 80 }, { 0, 29 }, { 0, 125 }, { 0, 24 }, { 0, 62 }, { 1, 4 }, - { 0, 10 }, { 0, 8 }, { 0, 25 }, { 0, 26 }, { 0, 23 }, { 0, 133 }, + { 0, 10 }, { 0, 8 }, { 0, 25 }, { 0, 26 }, { 0, 23 }, { 0, 133 }, }; const char* db820c_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyMSM0", "/dev/ttyMSM1" }; +// HiKey int hikey_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 488, 489, 490, 491, 492, 415, 463, 495, 426, 433, 427, 434, }; @@ -79,18 +87,14 @@ int hikey_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { const char* hikey_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyAMA2", "/dev/ttyAMA3" }; -// HIKEY960 +// HiKey960 int hikey960_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { - { 26, 0 }, { 26, 1 }, { 26, 2 }, { 26, 3 }, { 26, 4 }, { 22, 6 }, - { 2, 7 }, { 5, 0 }, { 6, 4 }, { 2, 3 }, { 9, 3 }, { 2, 5 }, + { 26, 0 }, { 26, 1 }, { 26, 2 }, { 26, 3 }, { 26, 4 }, { 22, 6 }, + { 2, 7 }, { 5, 0 }, { 6, 4 }, { 2, 3 }, { 9, 3 }, { 2, 5 }, }; const char* hikey960_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyAMA3", "/dev/ttyAMA6" }; -int bbgum_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 155, 154 }; - -const char* bbgum_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyS3", "/dev/ttyS5" }; - // Rock960 int rock960_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 1006, 1002, 1041, 1042, 1121, 1128, 1124, 1131, 1125, 1132, 1050, 1055 @@ -243,7 +247,13 @@ mraa_96boards() if (mraa_file_exist(DT_BASE "/model")) { // We are on a modern kernel, great!!!! - if (mraa_file_contains(DT_BASE "/model", "Qualcomm Technologies, Inc. APQ 8016 SBC")) { + if (mraa_file_contains(DT_BASE "/model", "s900")) { + b->platform_name = PLATFORM_NAME_BBGUM; + ls_gpio_pins = bbgum_ls_gpio_pins; + b->uart_dev[0].device_path = (char*) bbgum_serialdev[0]; + b->uart_dev[1].device_path = (char*) bbgum_serialdev[1]; + } else if (mraa_file_contains(DT_BASE "/model", + "Qualcomm Technologies, Inc. APQ 8016 SBC")) { b->platform_name = PLATFORM_NAME_DB410C; ls_gpio_pins = db410c_ls_gpio_pins; chardev_map = &db410c_chardev_map; @@ -256,7 +266,7 @@ mraa_96boards() ls_gpio_pins = db820c_ls_gpio_pins; chardev_map = &db820c_chardev_map; b->uart_dev[0].device_path = (char*) db820c_serialdev[0]; - b->uart_dev[1].device_path = (char *)db820c_serialdev[1]; + b->uart_dev[1].device_path = (char*) db820c_serialdev[1]; b->chardev_capable = 1; } else if (mraa_file_contains(DT_BASE "/model", "HiKey Development Board")) { b->platform_name = PLATFORM_NAME_HIKEY; @@ -276,11 +286,6 @@ mraa_96boards() ls_gpio_pins = rock960_ls_gpio_pins; b->uart_dev[0].device_path = (char*) rock960_serialdev[0]; b->uart_dev[1].device_path = (char*) rock960_serialdev[1]; - } else if (mraa_file_contains(DT_BASE "/model", "s900")) { - b->platform_name = PLATFORM_NAME_BBGUM; - ls_gpio_pins = bbgum_ls_gpio_pins; - b->uart_dev[0].device_path = (char*) bbgum_serialdev[0]; - b->uart_dev[1].device_path = (char*) bbgum_serialdev[1]; } } diff --git a/src/arm/arm.c b/src/arm/arm.c index 1e352e6..8431c24 100644 --- a/src/arm/arm.c +++ b/src/arm/arm.c @@ -85,7 +85,9 @@ mraa_arm_platform() /* Get compatible string from Device tree for boards that dont have enough info in /proc/cpuinfo */ if (platform_type == MRAA_UNKNOWN_PLATFORM) { - if (mraa_file_contains("/proc/device-tree/compatible", "qcom,apq8016-sbc")) + if (mraa_file_contains("/proc/device-tree/model", "s900")) + platform_type = MRAA_96BOARDS; + else if (mraa_file_contains("/proc/device-tree/compatible", "qcom,apq8016-sbc")) platform_type = MRAA_96BOARDS; else if (mraa_file_contains("/proc/device-tree/compatible", "arrow,apq8096-db820c")) platform_type = MRAA_96BOARDS; @@ -96,8 +98,6 @@ mraa_arm_platform() platform_type = MRAA_96BOARDS; else if (mraa_file_contains("/proc/device-tree/model", "ROCK960")) platform_type = MRAA_96BOARDS; - else if (mraa_file_contains("/proc/device-tree/model", "s900")) - platform_type = MRAA_96BOARDS; else if (mraa_file_contains("/proc/device-tree/compatible", "raspberrypi,")) platform_type = MRAA_RASPBERRY_PI; }