diff --git a/arch/arm/soc/arm/beetle/soc.h b/arch/arm/soc/arm/beetle/soc.h index c2a997c9411..3e5c5b904a8 100644 --- a/arch/arm/soc/arm/beetle/soc.h +++ b/arch/arm/soc/arm/beetle/soc.h @@ -106,10 +106,6 @@ #define CMSDK_AHB_GPIO2 _BEETLE_GPIO2_BASE #define CMSDK_AHB_GPIO3 _BEETLE_GPIO3_BASE -/* CMSDK APB Timers */ -#define CMSDK_APB_TIMER0 _BEETLE_TIMER0_BASE -#define CMSDK_APB_TIMER1 _BEETLE_TIMER1_BASE - /* CMSDK APB Dual Timer */ #define CMSDK_APB_DTIMER _BEETLE_DTIMER_BASE diff --git a/arch/arm/soc/arm/beetle/soc_irq.h b/arch/arm/soc/arm/beetle/soc_irq.h index 566621258b7..5bac51b1d41 100644 --- a/arch/arm/soc/arm/beetle/soc_irq.h +++ b/arch/arm/soc/arm/beetle/soc_irq.h @@ -57,10 +57,6 @@ #define IRQ_PORT3_ALL 43 /* GPIO Port 3 combined Interrupt */ #define IRQ_TRNG 44 /* Random number generator Interrupt */ -/* CMSDK APB Timers */ -#define CMSDK_APB_TIMER_0_IRQ IRQ_TIMER0 -#define CMSDK_APB_TIMER_1_IRQ IRQ_TIMER1 - /* CMSDK APB Dualtimer */ #define CMSDK_APB_DUALTIMER_IRQ IRQ_DUALTIMER diff --git a/dts/arm/v2m_beetle.dts b/dts/arm/v2m_beetle.dts index c4d678f936c..fd979655513 100644 --- a/dts/arm/v2m_beetle.dts +++ b/dts/arm/v2m_beetle.dts @@ -30,6 +30,18 @@ }; soc { + timer0: timer@40000000 { + compatible = "arm,cmsdk-timer"; + reg = <0x40000000 0x1000>; + interrupts = ; + }; + + timer1: timer@40001000 { + compatible = "arm,cmsdk-timer"; + reg = <0x40001000 0x1000>; + interrupts = ; + }; + uart0: uart@40004000 { compatible = "arm,cmsdk-uart"; reg = <0x40004000 0x1000>; diff --git a/dts/arm/v2m_beetle.fixup b/dts/arm/v2m_beetle.fixup index b2b8bccafe4..165a3527b69 100644 --- a/dts/arm/v2m_beetle.fixup +++ b/dts/arm/v2m_beetle.fixup @@ -1,5 +1,12 @@ #define CONFIG_NUM_IRQ_PRIO_BITS ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS +/* CMSDK APB Timers */ +#define CMSDK_APB_TIMER0 ARM_CMSDK_TIMER_40000000_BASE_ADDRESS_0 +#define CMSDK_APB_TIMER_0_IRQ ARM_CMSDK_TIMER_40000000_IRQ_0 + +#define CMSDK_APB_TIMER1 ARM_CMSDK_TIMER_40001000_BASE_ADDRESS_0 +#define CMSDK_APB_TIMER_1_IRQ IRQ_TIMER1 ARM_CMSDK_TIMER_40001000_IRQ_0 + /* CMSDK APB Universal Asynchronous Receiver-Transmitter (UART) */ #define CMSDK_APB_UART0 ARM_CMSDK_UART_40004000_BASE_ADDRESS_0 #define CMSDK_APB_UART_0_IRQ ARM_CMSDK_UART_40004000_IRQ_0 diff --git a/dts/arm/yaml/arm,cmsdk-timer.yaml b/dts/arm/yaml/arm,cmsdk-timer.yaml new file mode 100644 index 00000000000..dd5685b3a79 --- /dev/null +++ b/dts/arm/yaml/arm,cmsdk-timer.yaml @@ -0,0 +1,27 @@ +--- +title: ARM CMSDK TIMER +id: arm,cmsdk-timer +version: 0.1 + +description: > + This binding gives a base representation of the ARM CMSDK TIMER + +properties: + - compatible: + type: string + category: required + description: compatible strings + constraint: "arm,cmsdk-timer" + + - reg: + type: array + description: mmio register space + generation: define + category: required + + - interrupts: + type: array + category: required + description: required interrupts + generation: define +...