| /* |
| * Copyright (c) 2020 Linumiz |
| * Author: Parthiban Nallathambi <parthiban@linumiz.com> |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <arm/armv7-m.dtsi> |
| #include <zephyr/dt-bindings/adc/adc.h> |
| #include <zephyr/dt-bindings/gpio/gpio.h> |
| #include <zephyr/dt-bindings/gpio/infineon-xmc4xxx-gpio.h> |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| compatible = "arm,cortex-m4f"; |
| reg = <0>; |
| }; |
| }; |
| |
| flash_controller: flash_controller@58001000 { |
| compatible = "infineon,xmc4xxx-flash-controller"; |
| reg = <0x58001000 0x1400>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| flash0: flash@c000000 { |
| compatible = "infineon,xmc4xxx-nv-flash","soc-nv-flash"; |
| write-block-size = <256>; |
| }; |
| }; |
| |
| sysclk: system-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <120000000>; |
| #clock-cells = <0>; |
| }; |
| |
| soc { |
| intc: eru@40044000 { |
| compatible = "infineon,xmc4xxx-intc"; |
| reg = <0x40044000 0xff>, <0x50004800 0xff>; |
| /* naming order is intentional. eru1 maps to a lower address than eru0 */ |
| reg-names = "eru1", "eru0"; |
| interrupts = <1 1>, <2 1>, <3 1>, <4 1>, <5 1>, <6 1>, <7 1>, <8 1>; |
| interrupt-names = "eru0sr0", "eru0sr1", "eru0sr2", "eru0sr3", |
| "eru1sr0", "eru1sr1", "eru1sr2", "eru1sr3"; |
| }; |
| |
| pinctrl: pinctrl@48028000 { |
| compatible = "infineon,xmc4xxx-pinctrl"; |
| reg = <0x48028000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| gpio0: gpio@48028000 { |
| compatible = "infineon,xmc4xxx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| reg = <0x48028000 0x100>; |
| status = "disabled"; |
| }; |
| |
| gpio1: gpio@48028100 { |
| compatible = "infineon,xmc4xxx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| reg = <0x48028100 0x100>; |
| status = "disabled"; |
| }; |
| |
| gpio2: gpio@48028200 { |
| compatible = "infineon,xmc4xxx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| reg = <0x48028200 0x100>; |
| status = "disabled"; |
| }; |
| |
| gpio14: gpio@48028e00 { |
| compatible = "infineon,xmc4xxx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| reg = <0x48028e00 0x100>; |
| status = "disabled"; |
| }; |
| |
| gpio15: gpio@48028f00 { |
| compatible = "infineon,xmc4xxx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| reg = <0x48028f00 0x100>; |
| status = "disabled"; |
| }; |
| }; |
| |
| dma0: dma0@50014000{ |
| compatible = "infineon,xmc4xxx-dma"; |
| reg = <0x50014000 0x2bc>; |
| interrupts = <105 1>; |
| dma-channels = <8>; |
| #dma-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| dma1: dma1@50018000 { |
| compatible = "infineon,xmc4xxx-dma"; |
| reg = <0x50018000 0x15c>; |
| interrupts = <110 1>; |
| dma-channels = <4>; |
| #dma-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| usic0ch0: usic@40030000 { |
| reg = <0x40030000 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| usic0ch1: usic@40030200 { |
| reg = <0x40030200 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| usic1ch0: usic@48020000 { |
| reg = <0x48020000 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| usic1ch1: usic@48020200 { |
| reg = <0x48020200 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| usic2ch0: usic@48024000 { |
| reg = <0x48024000 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| usic2ch1: usic@48024200 { |
| reg = <0x48024200 0x1ff>; |
| clocks = <&sysclk>; |
| status = "disabled"; |
| }; |
| |
| adc0: adc@40004400 { |
| compatible = "infineon,xmc4xxx-adc"; |
| reg = <0x40004400 0x400>; |
| interrupts = <18 62>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| adc1: adc@40004800 { |
| compatible = "infineon,xmc4xxx-adc"; |
| reg = <0x40004800 0x400>; |
| interrupts = <22 62>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| adc2: adc@40004c00 { |
| compatible = "infineon,xmc4xxx-adc"; |
| reg = <0x40004C00 0x400>; |
| interrupts = <26 62>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| adc3: adc@40005000 { |
| compatible = "infineon,xmc4xxx-adc"; |
| reg = <0x40005000 0x400>; |
| interrupts = <30 62>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| die_temp: die_temp@5000408c { |
| reg = <0x5000408c 0x8>; |
| compatible = "infineon,xmc4xxx-temp"; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu40: ccu40@4000c000 { |
| compatible = "infineon,xmc4xxx-ccu4-pwm"; |
| reg = <0x4000c000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu41: ccu41@40010000 { |
| compatible = "infineon,xmc4xxx-ccu4-pwm"; |
| reg = <0x40010000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu42: ccu42@40014000 { |
| compatible = "infineon,xmc4xxx-ccu4-pwm"; |
| reg = <0x40014000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu43: ccu43@48004000 { |
| compatible = "infineon,xmc4xxx-ccu4-pwm"; |
| reg = <0x48004000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu80: ccu80@40020000 { |
| compatible = "infineon,xmc4xxx-ccu8-pwm"; |
| reg = <0x40020000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| pwm_ccu81: ccu81@40024000 { |
| compatible = "infineon,xmc4xxx-ccu8-pwm"; |
| reg = <0x40024000 0x4000>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| wdt0: watchdog@50008000 { |
| compatible = "infineon,xmc4xxx-watchdog"; |
| reg = <0x50008000 0x4000>; |
| interrupts = <0 1>; |
| status = "disabled"; |
| }; |
| |
| ethernet@5000c000 { |
| reg = <0x5000C000 0x3FFF>; |
| |
| eth: ethernet { |
| compatible = "infineon,xmc4xxx-ethernet"; |
| interrupts = <108 1>; |
| status = "disabled"; |
| }; |
| |
| mdio: mdio { |
| compatible = "infineon,xmc4xxx-mdio"; |
| status = "disabled"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| }; |
| |
| can: can@48014000 { |
| compatible = "infineon,xmc4xxx-can"; |
| reg = <0x48014000 0x4000>; |
| clock-prescaler = <1>; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| can_node0: can_node0@48014200 { |
| compatible = "infineon,xmc4xxx-can-node"; |
| reg = <0x48014200 0x100>; |
| interrupts = <76 1>; |
| status = "disabled"; |
| }; |
| |
| can_node1: can_node1@48014300 { |
| compatible = "infineon,xmc4xxx-can-node"; |
| reg = <0x48014300 0x100>; |
| interrupts = <77 1>; |
| status = "disabled"; |
| }; |
| |
| can_node2: can_node2@48014400 { |
| compatible = "infineon,xmc4xxx-can-node"; |
| reg = <0x48014400 0x100>; |
| interrupts = <78 1>; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <6>; |
| }; |