2023-03-07 00:18:45 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2020 Erik Larson
|
|
|
|
* Copyright (c) 2020-2022 Jason Kridner, BeagleBoard.org Foundation
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/dts-v1/;
|
|
|
|
|
|
|
|
#include <ti/cc1352r7.dtsi>
|
|
|
|
#include "beagleconnect_freedom-pinctrl.dtsi"
|
2023-08-03 18:52:22 +08:00
|
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
2023-03-07 00:18:45 +08:00
|
|
|
|
|
|
|
#define BTN_GPIO_FLAGS (GPIO_ACTIVE_LOW | GPIO_PULL_UP)
|
|
|
|
|
|
|
|
/ {
|
|
|
|
model = "BeagleConnect Freedom";
|
|
|
|
compatible = "beagle,beagleconnect-freedom";
|
|
|
|
|
|
|
|
aliases {
|
|
|
|
led0 = &led0;
|
|
|
|
sw0 = &button0;
|
|
|
|
mcuboot-button0 = &button0;
|
|
|
|
sensor0 = &light;
|
|
|
|
sensor1 = &humidity;
|
|
|
|
};
|
|
|
|
|
|
|
|
chosen {
|
|
|
|
zephyr,sram = &sram0;
|
|
|
|
zephyr,console = &uart0;
|
|
|
|
zephyr,shell-uart = &uart0;
|
|
|
|
zephyr,flash = &flash0;
|
|
|
|
zephyr,ieee802154 = &ieee802154g;
|
|
|
|
zephyr,code-partition = &slot0_partition;
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio_keys {
|
|
|
|
compatible = "gpio-keys";
|
|
|
|
button0: button_0 {
|
|
|
|
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
|
2023-08-03 18:52:22 +08:00
|
|
|
zephyr,code = <INPUT_KEY_0>;
|
2023-03-07 00:18:45 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-30 05:08:18 +08:00
|
|
|
/**
|
|
|
|
* The BeagleConnect Freedom has an on-board antenna switch (SKY13317-373LF) used to select
|
|
|
|
* the appropriate RF signal port based on the currently-used PHY.
|
|
|
|
*
|
|
|
|
* Truth table:
|
|
|
|
*
|
|
|
|
* Path DIO29 DIO30
|
|
|
|
* =========== ===== =====
|
|
|
|
* Off 0 0
|
|
|
|
* Sub-1 GHz 0 1 // DIO30 mux to IOC_PORT_RFC_GPO0 for auto
|
|
|
|
* 20 dBm TX 1 0 // DIO29 mux to IOC_PORT_RFC_GPO3 for auto
|
|
|
|
*/
|
|
|
|
antenna_mux0: antenna_mux0 {
|
|
|
|
compatible = "skyworks,sky13317";
|
|
|
|
status = "okay";
|
|
|
|
gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>, <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
|
|
|
pinctrl-0 = <&board_ant_tx_pa_off &board_ant_subg_off>;
|
|
|
|
pinctrl-1 = <&board_ant_tx_pa_off &board_ant_subg_on>;
|
|
|
|
pinctrl-2 = <&board_ant_tx_pa_on &board_ant_subg_on>;
|
|
|
|
pinctrl-names = "default", "ant_subg", "ant_subg_pa";
|
|
|
|
};
|
|
|
|
|
2023-03-07 00:18:45 +08:00
|
|
|
leds: leds {
|
|
|
|
compatible = "gpio-leds";
|
|
|
|
led0: led_0 {
|
|
|
|
gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; // 2.4GHz TX/RX
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
sens_i2c: sensor-switch {
|
|
|
|
status = "okay";
|
2023-11-01 21:02:05 +08:00
|
|
|
compatible = "gpio-i2c-switch";
|
2023-03-07 00:18:45 +08:00
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
controller = <&i2c0>;
|
|
|
|
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
2023-12-12 02:38:05 +08:00
|
|
|
|
|
|
|
light: opt3001-light@44 {
|
|
|
|
status = "okay";
|
|
|
|
compatible = "ti,opt3001";
|
|
|
|
reg = <0x44>;
|
|
|
|
};
|
|
|
|
|
|
|
|
humidity: hdc2010-humidity@41 {
|
|
|
|
status = "okay";
|
|
|
|
compatible = "ti,hdc2010";
|
|
|
|
reg = <0x41>;
|
|
|
|
};
|
2023-03-07 00:18:45 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&flash0 {
|
|
|
|
partitions {
|
|
|
|
compatible = "fixed-partitions";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
/* Allocate 128 KiB for mcuboot */
|
|
|
|
boot_partition: partition@0 {
|
|
|
|
label = "mcuboot";
|
|
|
|
reg = <0x00000000 0x00020000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Allocate 568 KiB for application (avoid touching CCFG) */
|
|
|
|
slot0_partition: partition@20000 {
|
|
|
|
label = "image-0";
|
|
|
|
reg = <0x00020000 0x0008e000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&cpu0 {
|
|
|
|
clock-frequency = <48000000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&trng {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpio0 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Side away from battery connector (with MSP430) */
|
|
|
|
&uart0 {
|
|
|
|
status = "okay";
|
|
|
|
current-speed = <115200>;
|
|
|
|
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Side with battery connector (with CC1352 and not MSP430) */
|
|
|
|
&uart1 {
|
|
|
|
status = "okay";
|
|
|
|
current-speed = <115200>;
|
|
|
|
pinctrl-0 = <&uart1_rx_default &uart1_tx_default>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
};
|
|
|
|
|
|
|
|
&i2c0 {
|
|
|
|
status = "okay";
|
|
|
|
clock-frequency = <I2C_BITRATE_FAST>;
|
|
|
|
pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
|
|
|
|
pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
|
|
|
|
pinctrl-names = "default", "sleep";
|
|
|
|
|
|
|
|
mcu: msp430-usbbridge@4 {
|
|
|
|
compatible = "beagle,usbbridge";
|
|
|
|
reg = <0x4>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&spi0 {
|
|
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
|
|
|
|
&spi0_miso_default &spi0_cs0_default
|
|
|
|
&spi0_cs1_default &spi0_cs2_default>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
cs-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>, // SPI flash
|
|
|
|
<&gpio0 28 GPIO_ACTIVE_LOW>, // mikroBUS port 1
|
|
|
|
<&gpio0 27 GPIO_ACTIVE_LOW>; // mikroBUS port 2
|
|
|
|
|
|
|
|
spi_flash0: gd25q16c@0 {
|
|
|
|
compatible = "jedec,spi-nor";
|
|
|
|
reg = <0>;
|
|
|
|
spi-max-frequency = <2000000>;
|
|
|
|
size = <0x200000>;
|
|
|
|
//has-be32k;
|
|
|
|
has-dpd;
|
|
|
|
t-enter-dpd = <20000>;
|
|
|
|
t-exit-dpd = <100000>;
|
|
|
|
jedec-id = [c8 40 15];
|
|
|
|
|
|
|
|
partitions {
|
|
|
|
compatible = "fixed-partitions";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
/* Allocate 568 KiB for application */
|
|
|
|
slot1_partition: partition@0 {
|
|
|
|
label = "image-1";
|
|
|
|
reg = <0x00000000 0x0008e000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Allocate 128 KiB scratch for image swap */
|
|
|
|
scratch_partition: partition@8e000 {
|
|
|
|
label = "image-scratch";
|
|
|
|
reg = <0x0008e000 0x00020000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Allocate 1 MiB storage partition */
|
|
|
|
storage_partition: partition@ae000 {
|
|
|
|
label = "storage";
|
|
|
|
reg = <0x000ae000 DT_SIZE_K(1024)>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&ieee802154g {
|
|
|
|
status = "okay";
|
|
|
|
};
|
2024-09-21 16:23:29 +08:00
|
|
|
|
|
|
|
&gpt0 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&gpt1 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&pwm0 {
|
|
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&pwm0_default>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
};
|
|
|
|
|
|
|
|
&pwm1 {
|
|
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&pwm1_default>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
};
|
2024-09-30 17:22:24 +08:00
|
|
|
|
|
|
|
&adc0 {
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
/* MB1 AN */
|
|
|
|
channel@9 {
|
|
|
|
reg = <9>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* MB2 AN */
|
|
|
|
channel@a {
|
|
|
|
reg = <10>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* MB1/2 SCL */
|
|
|
|
channel@b {
|
|
|
|
reg = <11>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* MB1/2 SDA */
|
|
|
|
channel@c {
|
|
|
|
reg = <12>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* MB2 CS */
|
|
|
|
channel@d {
|
|
|
|
reg = <13>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* MB1 CS */
|
|
|
|
channel@e {
|
|
|
|
reg = <14>;
|
|
|
|
zephyr,gain = "ADC_GAIN_1";
|
|
|
|
zephyr,reference = "ADC_REF_INTERNAL";
|
|
|
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
|
|
|
zephyr,resolution = <12>;
|
|
|
|
};
|
|
|
|
};
|