| /* |
| * SPDX-License-Identifier: Apache-2.0 |
| * |
| * Copyright (c) 2023 Schlumberger |
| * |
| */ |
| |
| /dts-v1/; |
| |
| #include <infineon/xmc4700_F144x2048.dtsi> |
| #include <infineon/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; |
| }; |
| |
| 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 = &psram1; |
| zephyr,flash = &flash0; |
| zephyr,console = &usic0ch0; |
| zephyr,shell-uart = &usic0ch0; |
| zephyr,flash-controller = &flash_controller; |
| zephyr,code-partition = &code_partition; |
| }; |
| |
| }; |
| |
| &dsram1 { |
| compatible = "zephyr,memory-region", "mmio-sram"; |
| zephyr,memory-region = "DSRAM1"; |
| }; |
| |
| &dsram2 { |
| compatible = "zephyr,memory-region", "mmio-sram"; |
| zephyr,memory-region = "DSRAM2"; |
| }; |
| |
| &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"; |
| }; |