From 7ea32cf1ecce38d3ecf245d5245f244390ab0a86 Mon Sep 17 00:00:00 2001 From: Manivannan Sadhasivam Date: Fri, 6 Apr 2018 09:36:00 +0530 Subject: [PATCH] arm: 96boards: Add Chardev support for relevant boards As of now both Dragonboard410c and Hikey boards run latest LTS kernel. Hence, adding chardev support for those. Signed-off-by: Manivannan Sadhasivam Signed-off-by: Ivan Farkas Signed-off-by: malikabhi05 --- src/arm/96boards.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/arm/96boards.c b/src/arm/96boards.c index 3cbc765..7b16ee1 100644 --- a/src/arm/96boards.c +++ b/src/arm/96boards.c @@ -37,6 +37,7 @@ #define DT_BASE "/proc/device-tree" #define PLATFORM_NAME_DB410C "DB410C" +#define PLATFORM_NAME_DB820C "DB820C" #define PLATFORM_NAME_HIKEY "HIKEY" #define PLATFORM_NAME_BBGUM "BBGUM" #define MAX_SIZE 64 @@ -54,6 +55,15 @@ int db410c_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { const char* db410c_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyMSM0", "/dev/ttyMSM1" }; +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, 124 }, { 0, 62 }, { 0, 507 }, { 2, 3 }, + { 0, 10 }, { 0, 8 }, { 0, 25 }, { 0, 26 }, { 0, 23 }, { 0, 133 }, +}; + int hikey_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 488, 489, 490, 491, 492, 415, 463, 495, 426, 433, 427, 434, }; @@ -63,6 +73,11 @@ int hikey_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { { 6, 7 }, { 2, 7 }, { 10, 2 }, { 9, 1 }, { 10, 3 }, { 9, 2 }, }; +int hikey_chardev_map[MRAA_96BOARDS_LS_GPIO_COUNT][2] = { + { 2, 0 }, { 2, 1 }, { 2, 2 }, { 2, 3 }, { 2, 4 }, { 12, 7 }, + { 6, 7 }, { 2, 7 }, { 10, 2 }, { 9, 1 }, { 10, 3 }, { 9, 2 }, +}; + const char* hikey_serialdev[MRAA_96BOARDS_LS_UART_COUNT] = { "/dev/ttyAMA2", "/dev/ttyAMA3" }; int bbgum_ls_gpio_pins[MRAA_96BOARDS_LS_GPIO_COUNT] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 155, 154 }; @@ -213,7 +228,7 @@ mraa_96boards() b->no_bus_mux = 1; b->phy_pin_count = MRAA_96BOARDS_LS_PIN_COUNT + 1; - if (mraa_file_exist(DT_BASE "/model")) { + 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")) { b->platform_name = PLATFORM_NAME_DB410C; @@ -222,6 +237,12 @@ mraa_96boards() b->uart_dev[0].device_path = (char*) db410c_serialdev[0]; b->uart_dev[1].device_path = (char*) db410c_serialdev[1]; b->adv_func->gpio_mmap_setup = &mraa_db410c_mmap_setup; + } else if (mraa_file_contains(DT_BASE "/model", "Qualcomm Technologies, Inc. DB820c")) { + b->platform_name = PLATFORM_NAME_DB820C; + 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]; } else if (mraa_file_contains(DT_BASE "/model", "HiKey Development Board")) { b->platform_name = PLATFORM_NAME_HIKEY; ls_gpio_pins = hikey_ls_gpio_pins; @@ -236,6 +257,7 @@ mraa_96boards() } } + // UART b->uart_dev_count = MRAA_96BOARDS_LS_UART_COUNT; b->def_uart_dev = 0;