Contiki-NG
Loading...
Searching...
No Matches
msp-exp430fr5969-def.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026, RISE Research Institutes of Sweden AB.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of the Institute nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30/**
31 * \file
32 * Hardware definitions for MSP-EXP430FR5969 LaunchPad
33 */
34
35#ifndef MSP_EXP430FR5969_DEF_H_
36#define MSP_EXP430FR5969_DEF_H_
37
38/*---------------------------------------------------------------------------*/
39/* Platform features */
40/*---------------------------------------------------------------------------*/
41#define PLATFORM_HAS_LEDS 1
42#define PLATFORM_HAS_BUTTON 1
43#define PLATFORM_HAS_RADIO 0 /* No radio on this LaunchPad */
44
45/*---------------------------------------------------------------------------*/
46/* LED HAL configuration - use legacy API (MSP430 has no GPIO HAL) */
47/*---------------------------------------------------------------------------*/
48#define LEDS_CONF_LEGACY_API 1
49
50/*---------------------------------------------------------------------------*/
51/* GPIO HAL: provide port-aware operations via dev/gpio-hal-arch.h. */
52/*---------------------------------------------------------------------------*/
53#define GPIO_HAL_CONF_ARCH_HDR_PATH "dev/gpio-hal-arch.h"
54
55/*---------------------------------------------------------------------------*/
56/* CPU speed - FR5969 runs at 8MHz by default */
57/*---------------------------------------------------------------------------*/
58#ifndef F_CPU
59#define F_CPU 8000000uL
60#endif
61
62/*---------------------------------------------------------------------------*/
63/* LED configuration - MSP-EXP430FR5969 LaunchPad
64 * LED1 (Red): P1.0
65 * LED2 (Green): P4.6
66 *
67 * Note: LEDs are on different ports, handled in leds-arch.c
68 */
69/*---------------------------------------------------------------------------*/
70#define LEDS_CONF_RED 0x01 /* P1.0 */
71#define LEDS_CONF_GREEN 0x02 /* Mapped to bit 1 for LED API, actual pin is P4.6 */
72
73#define LEDS_CONF_ALL (LEDS_CONF_RED | LEDS_CONF_GREEN)
74
75/* Hardware pin definitions for LED driver */
76#define LEDS_RED_PORT 1
77#define LEDS_RED_PIN 0
78#define LEDS_GREEN_PORT 4
79#define LEDS_GREEN_PIN 6
80
81/*---------------------------------------------------------------------------*/
82/* Button configuration
83 * S1: P4.5 (directly to ground when pressed)
84 * S2: P1.1 (directly to ground when pressed)
85 */
86/*---------------------------------------------------------------------------*/
87#define BUTTON_S1_PORT 4
88#define BUTTON_S1_PIN 5
89#define BUTTON_S2_PORT 1
90#define BUTTON_S2_PIN 1
91
92/* The two buttons are on separate GPIO ports (S1 on P4, S2 on P1). With
93 * port-pin numbering the button HAL allocates one event handler per port,
94 * so it needs room for both ports; the default of 1 would leave the second
95 * button's handler unregistered. */
96#define BUTTON_HAL_CONF_PORT_COUNT 2
97
98/*---------------------------------------------------------------------------*/
99/* FRAM memory configuration (non-volatile) */
100/*---------------------------------------------------------------------------*/
101#define FRAM_CONF_START 0x4400
102#define FRAM_CONF_SIZE (64 * 1024UL) /* 64KB */
103
104/* Info FRAM segment */
105#define INFO_FRAM_CONF_START 0x1800
106#define INFO_FRAM_CONF_SIZE 512 /* 512B */
107
108/*---------------------------------------------------------------------------*/
109/* SRAM configuration (volatile) */
110/*---------------------------------------------------------------------------*/
111#define SRAM_CONF_START 0x1C00
112#define SRAM_CONF_SIZE (2 * 1024) /* 2KB */
113
114/*---------------------------------------------------------------------------*/
115/* Watchdog configuration */
116/*---------------------------------------------------------------------------*/
117#define WATCHDOG_CONF_TIMER_A 1
118
119#endif /* MSP_EXP430FR5969_DEF_H_ */