Linux Audio

Check our new training course

Loading...
/* SPDX-License-Identifier: Apache-2.0
 *
 * Copyright (c) 2020 Google, LLC
 *
 * SoC device tree include for STM32F103xG SoCs
 * where 'x' is replaced for specific SoCs like {R,V,Z}
 */

#include <mem.h>
#include <st/f1/stm32f103Xe.dtsi>

/ {
	sram0: memory@20000000 {
		reg = <0x20000000 DT_SIZE_K(96)>;
	};

	soc {
		flash-controller@40022000 {
			flash0: flash@8000000 {
				/* Note that there are actually two banks of
				 * flash (512KB each) and two flash controllers.
				 * This matters if you're doing in-application
				 * flash programming and you need the
				 * read-while-write capabilities, but is
				 * otherwise a non-issue.
				 */
				reg = <0x08000000 DT_SIZE_K(1024)>;
				erase-block-size = <DT_SIZE_K(2)>;
			};
		};

		timers9: timers@40014c00 {
			compatible = "st,stm32-timers";
			reg = <0x40014c00 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00080000>;
			/* Shared with TIM1_BRK */
			interrupts = <24 0>;
			status = "disabled";
			label = "TIMERS_9";

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

		timers10: timers@40015000 {
			compatible = "st,stm32-timers";
			reg = <0x40015000 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00100000>;
			/* Shared with TIM1_UP */
			interrupts = <25 0>;
			status = "disabled";
			label = "TIMERS_10";

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

		timers11: timers@40015400 {
			compatible = "st,stm32-timers";
			reg = <0x40015400 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00200000>;
			/* Shared with TIM1_TRG_COM */
			interrupts = <26 0>;
			status = "disabled";
			label = "TIMERS_11";

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

		timers12: timers@40001800 {
			compatible = "st,stm32-timers";
			reg = <0x40001800 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000040>;
			/* Shared with TIM8_BRK */
			interrupts = <43 0>;
			status = "disabled";
			label = "TIMERS_12";

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

		timers13: timers@40001c00 {
			compatible = "st,stm32-timers";
			reg = <0x40001c00 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000080>;
			/* Shared with TIM8_UP */
			interrupts = <44 0>;
			status = "disabled";
			label = "TIMERS_13";

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

		timers14: timers@40002000 {
			compatible = "st,stm32-timers";
			reg = <0x40002000 0x400>;
			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000100>;
			/* Shared with TIM8_TRG_COM */
			interrupts = <45 0>;
			status = "disabled";
			label = "TIMERS_14";

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

	};
};