Morse Micro IoT SDK  2.9.7
chip_cfg.h
1/*
2 * Copyright 2025 Morse Micro
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#pragma once
8
9#include <stdbool.h>
10#include <stddef.h>
11#include <stdint.h>
12
13
16{
18 const char *name;
20 uint32_t reg_chip_id;
22 int (*gpio_set_oe)(uint8_t gpio_num, bool oe);
24 int (*gpio_set_value)(uint8_t gpio_num, bool value);
28 const uint32_t *valid_chip_ids;
31};
32
34extern const struct chip_cfg chip_cfgs[];
36extern const size_t n_chip_cfgs;
Chip configuration data structure.
Definition: chip_cfg.h:16
const uint32_t * valid_chip_ids
List of valid chip IDs for this configuration.
Definition: chip_cfg.h:28
int(* gpio_set_value)(uint8_t gpio_num, bool value)
Function to set GPIO value.
Definition: chip_cfg.h:24
int(* gpio_set_oe)(uint8_t gpio_num, bool oe)
Function to set GPIO output enable.
Definition: chip_cfg.h:22
size_t n_valid_chip_ids
Number of valid chip IDs in valid_chip_ids.
Definition: chip_cfg.h:30
uint8_t busy_gpio_num
Busy GPIO number.
Definition: chip_cfg.h:26
const char * name
Chip name.
Definition: chip_cfg.h:18
uint32_t reg_chip_id
Address of the chip ID register.
Definition: chip_cfg.h:20