/* * Copyright (c) 2024 Norik Systems * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include #include LOG_MODULE_REGISTER(board_control, CONFIG_OCTOPUS_IO_BOARD_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"); } }