/*
 * Copyright (c) 2020 Thomas Stranger
 * Copyright (c) 2021 G-Technologies Sdn. Bhd.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <st/g0/stm32g071.dtsi>

/ {
	soc {
		pinctrl: pin-controller@50000000 {
			gpioe: gpio@50001000 {
				compatible = "st,stm32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x50001000 0x400>;
				clocks = <&rcc STM32_CLOCK_BUS_IOP 0x00000010>;
				label = "GPIOE";
			};
		};

		usart5: serial@40005000 {
			compatible = "st,stm32-usart", "st,stm32-uart";
			reg = <0x40005000 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000100>;
			interrupts = <29 0>;
			status = "disabled";
			label = "UART_5";
		};

		usart6: serial@40013c00 {
			compatible = "st,stm32-usart", "st,stm32-uart";
			reg = <0x40013c00 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000200>;
			interrupts = <29 0>;
			status = "disabled";
			label = "UART_6";
		};

		lpuart2: serial@40008400 {
			compatible = "st,stm32-lpuart", "st,stm32-uart";
			reg = <0x40008400 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000080>;
			interrupts = <28 0>;
			status = "disabled";
			label = "LPUART_2";
		};

		timers4: timers@40000800 {
			compatible = "st,stm32-timers";
			reg = <0x40000800 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000004>;
			interrupts = <16 0>;
			interrupt-names = "global";
			st,prescaler = <0>;
			status = "disabled";
			label = "TIMERS_4";

			pwm {
				compatible = "st,stm32-pwm";
				status = "disabled";
				label = "PWM_4";
				#pwm-cells = <3>;
			};
		};

		i2c3: i2c@40008800 {
			compatible = "st,stm32-i2c-v2";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40008800 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00800000>;
			interrupts = <24 0>;
			interrupt-names = "combined";
			status = "disabled";
			label = "I2C_3";
		};

		spi3: spi@40003c00 {
			compatible = "st,stm32-spi-fifo", "st,stm32-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40003c00 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00008000>;
			interrupts = <26 3>;
			status = "disabled";
			label = "SPI_3";
		};

		dma2: dma@40020400 {
			compatible = "st,stm32-dma-v2";
			#dma-cells = <3>;
			reg = <0x40020400 0x400>;
			interrupts = <11 0 11 0 11 0 11 0 11 0>;
			clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x2>;
			dma-requests = <5>;
			dma-offset = <7>;
			status = "disabled";
			label = "DMA_2";
		};

		dmamux1: dmamux@40020800 {
			dma-channels = <12>;
			dma-requests = <73>;
		};

		usb: usb@40005c00 {
			compatible = "st,stm32-usb";
			reg = <0x40005c00 0x400>;
			interrupts = <8 0>;
			interrupt-names = "usb";
			num-bidir-endpoints = <8>;
			ram-size = <2048>;
			phys = <&usb_fs_phy>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00002000>;
			status = "disabled";
			label= "USB";
		};
	};

	usb_fs_phy: usbphy {
		compatible = "usb-nop-xceiv";
		#phy-cells = <0>;
		label = "USB_FS_PHY";
	};
};
