seveibar/f1c100s-dev-board

This code defines the hardware layout and schematic for a four-layer F1C100S-based module, including footprint placement, pin mappings, power regulation, decoupling capacitors, support components, and routing configurations, enabling automated PCB generation, routing, and verification.

Version
1.3.0
License
unset
Stars
0

firmware/carrier.dtsi

/* Include after suniv-f1c100s.dtsi in your board DTS. This is a hardware
 * integration fragment, not a complete bootable board description. */
#include <dt-bindings/gpio/gpio.h>

/ {
    aliases { serial0 = &uart0; i2c0 = &i2c0; spi0 = &spi0; spi1 = &spi1; };
    chosen { stdout-path = "serial0:115200n8"; };
    leds {
        compatible = "gpio-leds";
        red { label = "dev:red"; gpios = <&pio 4 2 GPIO_ACTIVE_HIGH>; default-state = "off"; };
        green { label = "dev:green"; gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; default-state = "off"; };
        blue { label = "dev:blue"; gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; default-state = "off"; };
    };
};
&pio {
    carrier_i2c0: i2c0-pe-pins { pins = "PE11", "PE12"; function = "i2c0"; };
    carrier_spi1: spi1-pe-pins { pins = "PE7", "PE8", "PE9", "PE10"; function = "spi1"; };
};
&uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pe_pins>; status = "okay"; };
&i2c0 {
    pinctrl-names = "default"; pinctrl-0 = <&carrier_i2c0>;
    clock-frequency = <100000>; status = "okay";
    /* Add the actual attached I2C peripheral here. */
};
&spi0 {
    pinctrl-names = "default"; pinctrl-0 = <&spi0_pc_pins>; status = "okay";
    flash@0 {
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>; spi-max-frequency = <24000000>;
        /* Partition layout must match your SPL/U-Boot/Linux image. */
    };
};
&spi1 {
    pinctrl-names = "default"; pinctrl-0 = <&carrier_spi1>; status = "okay";
    /* Add your real SPI peripheral at CS0; start at <= 1 MHz over the cable.
     * Do not use a fictitious compatible string just to bind spidev. */
};
&usb_otg { dr_mode = "peripheral"; status = "okay"; };
&usbphy { status = "okay"; };