1819833afSPeter Tyser /* 2819833afSPeter Tyser * (C) Copyright 2009 3819833afSPeter Tyser * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com. 4819833afSPeter Tyser * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6819833afSPeter Tyser */ 7819833afSPeter Tyser 8819833afSPeter Tyser #ifndef _SPR_GPT_H 9819833afSPeter Tyser #define _SPR_GPT_H 10819833afSPeter Tyser 11819833afSPeter Tyser struct gpt_regs { 12819833afSPeter Tyser u8 reserved[0x80]; 13819833afSPeter Tyser u32 control; 14819833afSPeter Tyser u32 status; 15819833afSPeter Tyser u32 compare; 16819833afSPeter Tyser u32 count; 17819833afSPeter Tyser u32 capture_re; 18819833afSPeter Tyser u32 capture_fe; 19819833afSPeter Tyser }; 20819833afSPeter Tyser 21819833afSPeter Tyser /* 22819833afSPeter Tyser * TIMER_CONTROL register settings 23819833afSPeter Tyser */ 24819833afSPeter Tyser 25819833afSPeter Tyser #define GPT_PRESCALER_MASK 0x000F 26819833afSPeter Tyser #define GPT_PRESCALER_1 0x0000 27819833afSPeter Tyser #define GPT_PRESCALER_2 0x0001 28819833afSPeter Tyser #define GPT_PRESCALER_4 0x0002 29819833afSPeter Tyser #define GPT_PRESCALER_8 0x0003 30819833afSPeter Tyser #define GPT_PRESCALER_16 0x0004 31819833afSPeter Tyser #define GPT_PRESCALER_32 0x0005 32819833afSPeter Tyser #define GPT_PRESCALER_64 0x0006 33819833afSPeter Tyser #define GPT_PRESCALER_128 0x0007 34819833afSPeter Tyser #define GPT_PRESCALER_256 0x0008 35819833afSPeter Tyser 36819833afSPeter Tyser #define GPT_MODE_SINGLE_SHOT 0x0010 37819833afSPeter Tyser #define GPT_MODE_AUTO_RELOAD 0x0000 38819833afSPeter Tyser 39819833afSPeter Tyser #define GPT_ENABLE 0x0020 40819833afSPeter Tyser 41819833afSPeter Tyser #define GPT_CAPT_MODE_MASK 0x00C0 42819833afSPeter Tyser #define GPT_CAPT_MODE_NONE 0x0000 43819833afSPeter Tyser #define GPT_CAPT_MODE_RE 0x0040 44819833afSPeter Tyser #define GPT_CAPT_MODE_FE 0x0080 45819833afSPeter Tyser #define GPT_CAPT_MODE_BOTH 0x00C0 46819833afSPeter Tyser 47819833afSPeter Tyser #define GPT_INT_MATCH 0x0100 48819833afSPeter Tyser #define GPT_INT_FE 0x0200 49819833afSPeter Tyser #define GPT_INT_RE 0x0400 50819833afSPeter Tyser 51819833afSPeter Tyser /* 52819833afSPeter Tyser * TIMER_STATUS register settings 53819833afSPeter Tyser */ 54819833afSPeter Tyser 55819833afSPeter Tyser #define GPT_STS_MATCH 0x0001 56819833afSPeter Tyser #define GPT_STS_FE 0x0002 57819833afSPeter Tyser #define GPT_STS_RE 0x0004 58819833afSPeter Tyser 59819833afSPeter Tyser /* 60819833afSPeter Tyser * TIMER_COMPARE register settings 61819833afSPeter Tyser */ 62819833afSPeter Tyser 63819833afSPeter Tyser #define GPT_FREE_RUNNING 0xFFFF 64819833afSPeter Tyser 65819833afSPeter Tyser /* Timer, HZ specific defines */ 66bc0bdf4cSAmit Virdi #define CONFIG_SPEAR_HZ 1000 67bc0bdf4cSAmit Virdi #define CONFIG_SPEAR_HZ_CLOCK 8300000 68819833afSPeter Tyser 69819833afSPeter Tyser #endif 70