zephyr/boards/ambiq/apollo3_evb/apollo3_evb.dts
Sercan Erat 662d9c75d0 soc: ambiq: apollo3x: Flash-controller reconfigured for mcuboot
Due to Apollo3's internal bootloader, zephyr build is not able
to create correct flash address on linker.cmd while using
mcuboot. The PR configures flash-controller start address
to solve this problem.

Test board: rakwireless/rak11720
Test project: samples/subsys/mgmt/mcumgr/smp_svr

Signed-off-by: Sercan Erat <sercanerat@gmail.com>
2024-12-11 21:35:18 +01:00

205 lines
3.5 KiB
Text

/dts-v1/;
#include <ambiq/ambiq_apollo3_blue.dtsi>
#include "apollo3_evb-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>
/ {
model = "Ambiq Apollo3 Blue evaluation board";
compatible = "ambiq,apollo3_evb";
chosen {
zephyr,itcm = &tcm;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,uart-mcumgr = &uart0;
zephyr,uart-pipe = &uart0;
zephyr,flash-controller = &flash;
zephyr,bt_hci = &bt_hci_apollo;
zephyr,code-partition = &slot0_partition;
};
aliases {
watchdog0 = &wdt0;
led0 = &led0;
led1 = &led1;
led2 = &led2;
sw0 = &button0;
sw1 = &button1;
bootloader-led0 = &led0;
mcuboot-led0 = &led0;
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpio0_31 10 GPIO_ACTIVE_LOW>;
label = "LED 0";
};
led1: led_1 {
gpios = <&gpio0_31 30 GPIO_ACTIVE_LOW>;
label = "LED 1";
};
led2: led_2 {
gpios = <&gpio0_31 15 GPIO_ACTIVE_LOW>;
label = "LED 2";
};
led3: led_3 {
gpios = <&gpio0_31 14 GPIO_ACTIVE_LOW>;
label = "LED 3";
};
led4: led_4 {
gpios = <&gpio0_31 17 GPIO_ACTIVE_LOW>;
label = "LED 4";
};
};
buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpio0_31 16 GPIO_ACTIVE_LOW>;
label = "BTN0";
zephyr,code = <INPUT_KEY_0>;
};
button1: button_1 {
gpios = <&gpio0_31 18 GPIO_ACTIVE_LOW>;
label = "BTN1";
zephyr,code = <INPUT_KEY_1>;
};
button2: button_2 {
gpios = <&gpio0_31 19 GPIO_ACTIVE_LOW>;
label = "BTN2";
zephyr,code = <INPUT_KEY_2>;
};
};
};
&flash0 {
erase-block-size = <8192>;
write-block-size = <4>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
internal_boot_partition: partition@0 {
label = "internal_bootloader";
reg = <0x00000000 0xc000>;
};
boot_partition: partition@c000 {
label = "mcuboot";
reg = <0x0000c000 0xc000>;
};
slot0_partition: partition@18000 {
label = "image-0";
reg = <0x00018000 0x72000>;
};
slot1_partition: partition@8a000 {
label = "image-1";
reg = <0x0008a000 0x72000>;
};
/* Set 16KB of storage at the end of the 1024KB of flash */
storage_partition: partition@fc000 {
label = "storage";
reg = <0x000fc000 0x4000>;
};
};
};
&stimer0 {
clk-source = <3>;
};
&bleif {
pinctrl-0 = <&bleif_default>;
pinctrl-names = "default";
status = "okay";
};
&uart0 {
current-speed = <115200>;
pinctrl-0 = <&uart0_default>;
pinctrl-names = "default";
status = "okay";
};
&itm {
pinctrl-0 = <&itm_default>;
pinctrl-names = "default";
status = "okay";
};
&wdt0 {
status = "okay";
};
&spi0 {
compatible = "ambiq,spi";
pinctrl-0 = <&spi0_default>;
pinctrl-names = "default";
cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
clock-frequency = <DT_FREQ_M(1)>;
status = "okay";
};
&i2c3 {
compatible = "ambiq,i2c";
pinctrl-0 = <&i2c3_default>;
pinctrl-names = "default";
clock-frequency = <I2C_BITRATE_STANDARD>;
scl-gpios = <&gpio32_63 10 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
sda-gpios = <&gpio32_63 11 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
status = "okay";
};
&counter0 {
status = "okay";
};
&counter1 {
status = "okay";
};
&counter2 {
status = "okay";
};
&counter3 {
status = "okay";
};
&counter4 {
status = "okay";
};
&counter5 {
status = "okay";
};
&counter6 {
status = "okay";
};
&counter7 {
status = "okay";
};
&adc0 {
compatible = "ambiq,adc";
pinctrl-0 = <&adc0_default>;
pinctrl-names = "default";
status = "disabled";
};
&gpio0_31 {
status = "okay";
};
&gpio32_63 {
status = "okay";
};