blob: c741ca686aab0ad45874994a7318efbb08aaffd2 [file] [log] [blame]
/*
* Copyright (c) 2024 Norik Systems
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/init.h>
#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(board_control, CONFIG_OCTOPUS_SOM_CONTROL_LOG_LEVEL);
#define SIM_SELECT_NODE DT_PATH(sim_select)
void board_late_init_hook(void)
{
const struct gpio_dt_spec simctrl = GPIO_DT_SPEC_GET(DT_PATH(sim_select), sim_gpios);
if (!gpio_is_ready_dt(&simctrl)) {
LOG_ERR("SIM select GPIO not available");
return;
}
if (DT_ENUM_IDX(SIM_SELECT_NODE, sim) == 0) {
(void)gpio_pin_configure_dt(&simctrl, GPIO_OUTPUT_LOW);
LOG_INF("On-board SIM selected");
} else {
(void)gpio_pin_configure_dt(&simctrl, GPIO_OUTPUT_HIGH);
LOG_INF("External SIM selected");
}
}