Merge PCB updates
[SCSI2SD.git] / software / SCSI2SD / v4 / SCSI2SD.cydsn / Generated_Source / PSoC5 / SCSI_CLK.h
1 /*******************************************************************************
2 * File Name: SCSI_CLK.h
3 * Version 2.10
4 *
5 *  Description:
6 *   Provides the function and constant definitions for the clock component.
7 *
8 *  Note:
9 *
10 ********************************************************************************
11 * Copyright 2008-2012, Cypress Semiconductor Corporation.  All rights reserved.
12 * You may use this file only in accordance with the license, terms, conditions, 
13 * disclaimers, and limitations in the end user license agreement accompanying 
14 * the software package with which this file was provided.
15 *******************************************************************************/
16
17 #if !defined(CY_CLOCK_SCSI_CLK_H)
18 #define CY_CLOCK_SCSI_CLK_H
19
20 #include <cytypes.h>
21 #include <cyfitter.h>
22
23
24 /***************************************
25 * Conditional Compilation Parameters
26 ***************************************/
27
28 /* Check to see if required defines such as CY_PSOC5LP are available */
29 /* They are defined starting with cy_boot v3.0 */
30 #if !defined (CY_PSOC5LP)
31     #error Component cy_clock_v2_10 requires cy_boot v3.0 or later
32 #endif /* (CY_PSOC5LP) */
33
34
35 /***************************************
36 *        Function Prototypes
37 ***************************************/
38
39 void SCSI_CLK_Start(void) ;
40 void SCSI_CLK_Stop(void) ;
41
42 #if(CY_PSOC3 || CY_PSOC5LP)
43 void SCSI_CLK_StopBlock(void) ;
44 #endif /* (CY_PSOC3 || CY_PSOC5LP) */
45
46 void SCSI_CLK_StandbyPower(uint8 state) ;
47 void SCSI_CLK_SetDividerRegister(uint16 clkDivider, uint8 restart) 
48                                 ;
49 uint16 SCSI_CLK_GetDividerRegister(void) ;
50 void SCSI_CLK_SetModeRegister(uint8 modeBitMask) ;
51 void SCSI_CLK_ClearModeRegister(uint8 modeBitMask) ;
52 uint8 SCSI_CLK_GetModeRegister(void) ;
53 void SCSI_CLK_SetSourceRegister(uint8 clkSource) ;
54 uint8 SCSI_CLK_GetSourceRegister(void) ;
55 #if defined(SCSI_CLK__CFG3)
56 void SCSI_CLK_SetPhaseRegister(uint8 clkPhase) ;
57 uint8 SCSI_CLK_GetPhaseRegister(void) ;
58 #endif /* defined(SCSI_CLK__CFG3) */
59
60 #define SCSI_CLK_Enable()                       SCSI_CLK_Start()
61 #define SCSI_CLK_Disable()                      SCSI_CLK_Stop()
62 #define SCSI_CLK_SetDivider(clkDivider)         SCSI_CLK_SetDividerRegister(clkDivider, 1u)
63 #define SCSI_CLK_SetDividerValue(clkDivider)    SCSI_CLK_SetDividerRegister((clkDivider) - 1u, 1u)
64 #define SCSI_CLK_SetMode(clkMode)               SCSI_CLK_SetModeRegister(clkMode)
65 #define SCSI_CLK_SetSource(clkSource)           SCSI_CLK_SetSourceRegister(clkSource)
66 #if defined(SCSI_CLK__CFG3)
67 #define SCSI_CLK_SetPhase(clkPhase)             SCSI_CLK_SetPhaseRegister(clkPhase)
68 #define SCSI_CLK_SetPhaseValue(clkPhase)        SCSI_CLK_SetPhaseRegister((clkPhase) + 1u)
69 #endif /* defined(SCSI_CLK__CFG3) */
70
71
72 /***************************************
73 *             Registers
74 ***************************************/
75
76 /* Register to enable or disable the clock */
77 #define SCSI_CLK_CLKEN              (* (reg8 *) SCSI_CLK__PM_ACT_CFG)
78 #define SCSI_CLK_CLKEN_PTR          ((reg8 *) SCSI_CLK__PM_ACT_CFG)
79
80 /* Register to enable or disable the clock */
81 #define SCSI_CLK_CLKSTBY            (* (reg8 *) SCSI_CLK__PM_STBY_CFG)
82 #define SCSI_CLK_CLKSTBY_PTR        ((reg8 *) SCSI_CLK__PM_STBY_CFG)
83
84 /* Clock LSB divider configuration register. */
85 #define SCSI_CLK_DIV_LSB            (* (reg8 *) SCSI_CLK__CFG0)
86 #define SCSI_CLK_DIV_LSB_PTR        ((reg8 *) SCSI_CLK__CFG0)
87 #define SCSI_CLK_DIV_PTR            ((reg16 *) SCSI_CLK__CFG0)
88
89 /* Clock MSB divider configuration register. */
90 #define SCSI_CLK_DIV_MSB            (* (reg8 *) SCSI_CLK__CFG1)
91 #define SCSI_CLK_DIV_MSB_PTR        ((reg8 *) SCSI_CLK__CFG1)
92
93 /* Mode and source configuration register */
94 #define SCSI_CLK_MOD_SRC            (* (reg8 *) SCSI_CLK__CFG2)
95 #define SCSI_CLK_MOD_SRC_PTR        ((reg8 *) SCSI_CLK__CFG2)
96
97 #if defined(SCSI_CLK__CFG3)
98 /* Analog clock phase configuration register */
99 #define SCSI_CLK_PHASE              (* (reg8 *) SCSI_CLK__CFG3)
100 #define SCSI_CLK_PHASE_PTR          ((reg8 *) SCSI_CLK__CFG3)
101 #endif /* defined(SCSI_CLK__CFG3) */
102
103
104 /**************************************
105 *       Register Constants
106 **************************************/
107
108 /* Power manager register masks */
109 #define SCSI_CLK_CLKEN_MASK         SCSI_CLK__PM_ACT_MSK
110 #define SCSI_CLK_CLKSTBY_MASK       SCSI_CLK__PM_STBY_MSK
111
112 /* CFG2 field masks */
113 #define SCSI_CLK_SRC_SEL_MSK        SCSI_CLK__CFG2_SRC_SEL_MASK
114 #define SCSI_CLK_MODE_MASK          (~(SCSI_CLK_SRC_SEL_MSK))
115
116 #if defined(SCSI_CLK__CFG3)
117 /* CFG3 phase mask */
118 #define SCSI_CLK_PHASE_MASK         SCSI_CLK__CFG3_PHASE_DLY_MASK
119 #endif /* defined(SCSI_CLK__CFG3) */
120
121 #endif /* CY_CLOCK_SCSI_CLK_H */
122
123
124 /* [] END OF FILE */