1/* 2 * SPDX-License-Identifier: Apache-2.0 3 * 4 * Copyright (c) 2023 Schlumberger 5 * 6 */ 7 8/dts-v1/; 9 10#include <infineon/xmc4700_F144x2048.dtsi> 11#include <infineon/xmc4700_F144x2048-intc.dtsi> 12#include <zephyr/dt-bindings/pwm/pwm.h> 13#include "xmc47_relax_kit-pinctrl.dtsi" 14#include "arduino_r3_connector.dtsi" 15 16/ { 17 model = "Infineon XMC4700 Relax Kit board"; 18 compatible = "infineon,xmc4700", "infineon,xmc4xxx"; 19 20 aliases { 21 led0 = &led1; 22 die-temp0 = &die_temp; 23 pwm-led0 = &pwm_led1; 24 }; 25 26 leds { 27 compatible = "gpio-leds"; 28 /* leds are labelled LED1 and LED2 in the relax kit documentation */ 29 led1: led1 { 30 gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; 31 }; 32 led2: led2 { 33 gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>; 34 }; 35 }; 36 37 pwmleds { 38 compatible = "pwm-leds"; 39 pwm_led1: pwm_led1 { 40 pwms = <&pwm_ccu80 4 PWM_SEC(1) PWM_POLARITY_NORMAL>; 41 label = "PWM LED1"; 42 }; 43 pwm_led2: pwm_led2 { 44 pwms = <&pwm_ccu80 0 PWM_SEC(1) PWM_POLARITY_NORMAL>; 45 label = "PWM LED2"; 46 }; 47 }; 48 49 chosen { 50 zephyr,sram = &psram1; 51 zephyr,flash = &flash0; 52 zephyr,console = &usic0ch0; 53 zephyr,shell-uart = &usic0ch0; 54 zephyr,flash-controller = &flash_controller; 55 zephyr,code-partition = &code_partition; 56 }; 57 58}; 59 60&dsram1 { 61 compatible = "zephyr,memory-region", "mmio-sram"; 62 zephyr,memory-region = "DSRAM1"; 63}; 64 65&dsram2 { 66 compatible = "zephyr,memory-region", "mmio-sram"; 67 zephyr,memory-region = "DSRAM2"; 68}; 69 70&cpu0 { 71 clock-frequency = <144000000>; 72}; 73 74&flash0 { 75 partitions { 76 compatible = "fixed-partitions"; 77 #address-cells = <1>; 78 #size-cells = <1>; 79 80 code_partition: partition@0 { 81 reg = <0x0 0x80000>; 82 read-only; 83 }; 84 85 storage_partition: partition@80000 { 86 label = "storage"; 87 reg = <0x80000 0x80000>; 88 }; 89 }; 90}; 91 92&usic0ch0 { 93 compatible = "infineon,xmc4xxx-uart"; 94 current-speed = <115200>; 95 pinctrl-0 = <&uart_tx_p1_5_u0c0 &uart_rx_p1_4_u0c0>; 96 pinctrl-names = "default"; 97 input-src = "DX0B"; 98 interrupts = <84 1 85 1>; 99 interrupt-names = "tx", "rx"; 100 fifo-start-offset = <0>; 101 fifo-tx-size = <16>; 102 fifo-rx-size = <16>; 103 status = "okay"; 104}; 105 106&usic1ch0 { 107 compatible = "infineon,xmc4xxx-uart"; 108 current-speed = <115200>; 109 pinctrl-0 = <&uart_tx_p2_14_u1c0 &uart_rx_p2_15_u1c0>; 110 pinctrl-names = "default"; 111 input-src = "DX0C"; 112 interrupts = <92 1 93 1>; 113 interrupt-names = "tx", "rx"; 114 fifo-start-offset = <0>; 115 fifo-tx-size = <0>; 116 fifo-rx-size = <0>; 117 status = "okay"; 118}; 119 120&usic2ch0 { 121 compatible = "infineon,xmc4xxx-spi"; 122 pinctrl-0 = <&spi_mosi_p3_8_u2c0 &spi_miso_p3_7_u2c0 &spi_sclk_p3_9_u2c0>; 123 pinctrl-names = "default"; 124 miso-src = "DX0C"; 125 interrupts = <96 1 97 1>; 126 interrupt-names = "tx", "rx"; 127 status = "okay"; 128 129 #address-cells = <1>; 130 #size-cells = <0>; 131}; 132 133&usic1ch1 { 134 compatible = "infineon,xmc4xxx-i2c"; 135 status = "okay"; 136 137 pinctrl-0 = <&i2c_scl_p0_13_u1c1 &i2c_sda_p3_15_u1c1>; 138 pinctrl-names = "default"; 139 scl-src = "DX1B"; 140 sda-src = "DX0A"; 141 interrupts = <94 1>; 142 143 #address-cells = <1>; 144 #size-cells = <0>; 145}; 146 147&adc0 { 148 vref-internal-mv = <3300>; 149}; 150 151&adc1 { 152 vref-internal-mv = <3300>; 153}; 154 155&adc2 { 156 vref-internal-mv = <3300>; 157}; 158 159&adc3 { 160 vref-internal-mv = <3300>; 161}; 162 163&gpio5 { 164 status = "okay"; 165}; 166 167/* this example is not using the high-side/low-side signals of the same channel */ 168/* the PWM signals are only used for the blink led example */ 169&pwm_ccu80 { 170 slice-prescaler = <15 15 15 15>; 171 slice-deadtime-prescaler = <3 3 3 3>; 172 channel-deadtime-high = <0 0 0 0 0 0 0 0>; 173 channel-deadtime-low = <0 0 0 0 0 0 0 0>; 174 pinctrl-0 = <&pwm_out_p5_9_ccu80_ch4_high &pwm_out_p5_8_ccu80_ch0_low>; 175 pinctrl-names = "default"; 176}; 177