219 lines
4.3 KiB
Plaintext
219 lines
4.3 KiB
Plaintext
/*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Copyright (c) 2023 Schlumberger
|
|
*
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <infineon/cat3/xmc/xmc4700_F144x2048.dtsi>
|
|
#include <infineon/cat3/xmc/xmc4700_F144x2048-intc.dtsi>
|
|
#include <zephyr/dt-bindings/pwm/pwm.h>
|
|
#include "xmc47_relax_kit-pinctrl.dtsi"
|
|
#include "arduino_r3_connector.dtsi"
|
|
|
|
/ {
|
|
model = "Infineon XMC4700 Relax Kit board";
|
|
compatible = "infineon,xmc4700", "infineon,xmc4xxx";
|
|
|
|
aliases {
|
|
led0 = &led1;
|
|
die-temp0 = &die_temp;
|
|
pwm-led0 = &pwm_led1;
|
|
watchdog0 = &wdt0;
|
|
rtc = &rtc;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
/* leds are labelled LED1 and LED2 in the relax kit documentation */
|
|
led1: led1 {
|
|
gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
led2: led2 {
|
|
gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
pwmleds {
|
|
compatible = "pwm-leds";
|
|
pwm_led1: pwm_led1 {
|
|
pwms = <&pwm_ccu80 4 PWM_SEC(1) PWM_POLARITY_NORMAL>;
|
|
label = "PWM LED1";
|
|
};
|
|
pwm_led2: pwm_led2 {
|
|
pwms = <&pwm_ccu80 0 PWM_SEC(1) PWM_POLARITY_NORMAL>;
|
|
label = "PWM LED2";
|
|
};
|
|
};
|
|
|
|
chosen {
|
|
zephyr,sram = &dsram_joined;
|
|
zephyr,flash = &flash0;
|
|
zephyr,console = &usic0ch0;
|
|
zephyr,shell-uart = &usic0ch0;
|
|
zephyr,flash-controller = &flash_controller;
|
|
zephyr,code-partition = &code_partition;
|
|
zephyr,canbus = &can_node1;
|
|
};
|
|
|
|
};
|
|
|
|
&psram1 {
|
|
compatible = "zephyr,memory-region", "mmio-sram";
|
|
zephyr,memory-region = "PSRAM1";
|
|
};
|
|
|
|
&cpu0 {
|
|
clock-frequency = <144000000>;
|
|
};
|
|
|
|
&flash0 {
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
code_partition: partition@0 {
|
|
reg = <0x0 0x80000>;
|
|
read-only;
|
|
};
|
|
|
|
storage_partition: partition@80000 {
|
|
label = "storage";
|
|
reg = <0x80000 0x80000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&usic0ch0 {
|
|
compatible = "infineon,xmc4xxx-uart";
|
|
current-speed = <115200>;
|
|
pinctrl-0 = <&uart_tx_p1_5_u0c0 &uart_rx_p1_4_u0c0>;
|
|
pinctrl-names = "default";
|
|
input-src = "DX0B";
|
|
interrupts = <84 1 85 1>;
|
|
interrupt-names = "tx", "rx";
|
|
fifo-start-offset = <0>;
|
|
fifo-tx-size = <16>;
|
|
fifo-rx-size = <16>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usic1ch0 {
|
|
compatible = "infineon,xmc4xxx-uart";
|
|
current-speed = <115200>;
|
|
pinctrl-0 = <&uart_tx_p2_14_u1c0 &uart_rx_p2_15_u1c0>;
|
|
pinctrl-names = "default";
|
|
input-src = "DX0C";
|
|
interrupts = <92 1 93 1>;
|
|
interrupt-names = "tx", "rx";
|
|
fifo-start-offset = <0>;
|
|
fifo-tx-size = <0>;
|
|
fifo-rx-size = <0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usic2ch0 {
|
|
compatible = "infineon,xmc4xxx-spi";
|
|
pinctrl-0 = <&spi_mosi_p3_8_u2c0 &spi_miso_p3_7_u2c0 &spi_sclk_p3_9_u2c0>;
|
|
pinctrl-names = "default";
|
|
miso-src = "DX0C";
|
|
interrupts = <96 1 97 1>;
|
|
interrupt-names = "tx", "rx";
|
|
status = "okay";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
&usic1ch1 {
|
|
compatible = "infineon,xmc4xxx-i2c";
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&i2c_scl_p0_13_u1c1 &i2c_sda_p3_15_u1c1>;
|
|
pinctrl-names = "default";
|
|
scl-src = "DX1B";
|
|
sda-src = "DX0A";
|
|
interrupts = <94 1>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
&adc0 {
|
|
vref-internal-mv = <3300>;
|
|
};
|
|
|
|
&adc1 {
|
|
vref-internal-mv = <3300>;
|
|
};
|
|
|
|
&adc2 {
|
|
vref-internal-mv = <3300>;
|
|
};
|
|
|
|
&adc3 {
|
|
vref-internal-mv = <3300>;
|
|
};
|
|
|
|
&gpio5 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* this example is not using the high-side/low-side signals of the same channel */
|
|
/* the PWM signals are only used for the blink led example */
|
|
&pwm_ccu80 {
|
|
slice-prescaler = <15 15 15 15>;
|
|
slice-deadtime-prescaler = <3 3 3 3>;
|
|
channel-deadtime-high = <0 0 0 0 0 0 0 0>;
|
|
channel-deadtime-low = <0 0 0 0 0 0 0 0>;
|
|
pinctrl-0 = <&pwm_out_p5_9_ccu80_ch4_high &pwm_out_p5_8_ccu80_ch0_low>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
ð {
|
|
status = "okay";
|
|
pinctrl-0 = <ð_p2_4_rxer ð_p2_2_rxd0 ð_p2_3_rxd1
|
|
ð_p15_8_clk_rmii ð_p15_9_crs_dv ð_p2_5_tx_en
|
|
ð_p2_8_txd0 ð_p2_9_txd1>;
|
|
pinctrl-names = "default";
|
|
|
|
rxer-port-ctrl = "P2_4";
|
|
rxd0-port-ctrl = "P2_2";
|
|
rxd1-port-ctrl = "P2_3";
|
|
rmii-rx-clk-port-ctrl = "P15_8";
|
|
crs-rx-dv-port-ctrl = "P15_9";
|
|
|
|
phy-connection-type = "rmii";
|
|
phy-handle = <&phy>;
|
|
};
|
|
|
|
&mdio {
|
|
status = "okay";
|
|
mdi-port-ctrl = "P2_0";
|
|
pinctrl-0 = <ð_p2_0_mdo ð_p2_7_mdc>;
|
|
pinctrl-names = "default";
|
|
|
|
phy: ethernet-phy@0 {
|
|
compatible = "ethernet-phy";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&rtc {
|
|
status = "okay";
|
|
};
|
|
|
|
&can {
|
|
clock-prescaler = <6>;
|
|
};
|
|
|
|
&can_node1 {
|
|
status = "okay";
|
|
input-src = "RXDC";
|
|
pinctrl-0 = <&can_tx_p1_12_node1 &can_rx_p1_13_node1>;
|
|
pinctrl-names = "default";
|
|
};
|