From f906e7b099e8bf0a859adb5b2b5b021d8ba75d12 Mon Sep 17 00:00:00 2001 From: Vincenzo Frascino Date: Thu, 11 May 2017 11:56:20 +0100 Subject: [PATCH] dts: v2m_beetle: Add DualTimer support This patch adds the ARM CMSDK DualTimer support to the V2M Beetle device tree. Signed-off-by: Vincenzo Frascino --- arch/arm/soc/arm/beetle/soc.h | 3 --- arch/arm/soc/arm/beetle/soc_irq.h | 3 --- dts/arm/v2m_beetle.dts | 6 ++++++ dts/arm/v2m_beetle.fixup | 4 ++++ dts/arm/yaml/arm,cmsdk-dtimer.yaml | 27 +++++++++++++++++++++++++++ 5 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 dts/arm/yaml/arm,cmsdk-dtimer.yaml diff --git a/arch/arm/soc/arm/beetle/soc.h b/arch/arm/soc/arm/beetle/soc.h index 3e5c5b904a8..8bd2ee45984 100644 --- a/arch/arm/soc/arm/beetle/soc.h +++ b/arch/arm/soc/arm/beetle/soc.h @@ -106,9 +106,6 @@ #define CMSDK_AHB_GPIO2 _BEETLE_GPIO2_BASE #define CMSDK_AHB_GPIO3 _BEETLE_GPIO3_BASE -/* CMSDK APB Dual Timer */ -#define CMSDK_APB_DTIMER _BEETLE_DTIMER_BASE - #endif /* !_ASMLANGUAGE */ #endif /* _ARM_BEETLE_SOC_H_ */ diff --git a/arch/arm/soc/arm/beetle/soc_irq.h b/arch/arm/soc/arm/beetle/soc_irq.h index 5bac51b1d41..ccf60f499cf 100644 --- a/arch/arm/soc/arm/beetle/soc_irq.h +++ b/arch/arm/soc/arm/beetle/soc_irq.h @@ -57,7 +57,4 @@ #define IRQ_PORT3_ALL 43 /* GPIO Port 3 combined Interrupt */ #define IRQ_TRNG 44 /* Random number generator Interrupt */ -/* CMSDK APB Dualtimer */ -#define CMSDK_APB_DUALTIMER_IRQ IRQ_DUALTIMER - #endif /* _ARM_BEETLE_SOC_IRQ_H_ */ diff --git a/dts/arm/v2m_beetle.dts b/dts/arm/v2m_beetle.dts index fd979655513..4a894302aff 100644 --- a/dts/arm/v2m_beetle.dts +++ b/dts/arm/v2m_beetle.dts @@ -42,6 +42,12 @@ interrupts = ; }; + dtimer0: dtimer@40002000 { + compatible = "arm,cmsdk-dtimer"; + reg = <0x40000000 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 165a3527b69..89fd110c47a 100644 --- a/dts/arm/v2m_beetle.fixup +++ b/dts/arm/v2m_beetle.fixup @@ -7,6 +7,10 @@ #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 Dual Timer */ +#define CMSDK_APB_DTIMER ARM_CMSDK_DTIMER_40002000_BASE_ADDRESS_0 +#define CMSDK_APB_DUALTIMER_IRQ ARM_CMSDK_DTIMER_40002000_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-dtimer.yaml b/dts/arm/yaml/arm,cmsdk-dtimer.yaml new file mode 100644 index 00000000000..00b1b7a24a1 --- /dev/null +++ b/dts/arm/yaml/arm,cmsdk-dtimer.yaml @@ -0,0 +1,27 @@ +--- +title: ARM CMSDK DUALTIMER +id: arm,cmsdk-dtimer +version: 0.1 + +description: > + This binding gives a base representation of the ARM CMSDK DUALTIMER + +properties: + - compatible: + type: string + category: required + description: compatible strings + constraint: "arm,cmsdk-dtimer" + + - reg: + type: array + description: mmio register space + generation: define + category: required + + - interrupts: + type: array + category: required + description: required interrupts + generation: define +...