hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * Copyright (c) 2016 Google, Inc
 *
 * SPDX-License-Identifier:    GPL-2.0
 */
 
#ifndef __asm_pch_common_h
#define __asm_pch_common_h
 
/* Common Intel SATA registers */
#define SATA_SIRI        0xa0 /* SATA Indexed Register Index */
#define SATA_SIRD        0xa4 /* SATA Indexed Register Data */
#define SATA_SP            0xd0 /* Scratchpad */
 
#define INTR_LN            0x3c
#define IDE_TIM_PRI        0x40    /* IDE timings, primary */
#define   IDE_DECODE_ENABLE    (1 << 15)
#define   IDE_SITRE        (1 << 14)
#define   IDE_ISP_5_CLOCKS    (0 << 12)
#define   IDE_ISP_4_CLOCKS    (1 << 12)
#define   IDE_ISP_3_CLOCKS    (2 << 12)
#define   IDE_RCT_4_CLOCKS    (0 <<  8)
#define   IDE_RCT_3_CLOCKS    (1 <<  8)
#define   IDE_RCT_2_CLOCKS    (2 <<  8)
#define   IDE_RCT_1_CLOCKS    (3 <<  8)
#define   IDE_DTE1        (1 <<  7)
#define   IDE_PPE1        (1 <<  6)
#define   IDE_IE1        (1 <<  5)
#define   IDE_TIME1        (1 <<  4)
#define   IDE_DTE0        (1 <<  3)
#define   IDE_PPE0        (1 <<  2)
#define   IDE_IE0        (1 <<  1)
#define   IDE_TIME0        (1 <<  0)
#define IDE_TIM_SEC        0x42    /* IDE timings, secondary */
 
#define SERIRQ_CNTL        0x64
 
/**
 * pch_common_sir_read() - Read from a SATA indexed register
 *
 * @dev:    SATA device
 * @idx:    Register index to read
 * @return value read from register
 */
u32 pch_common_sir_read(struct udevice *dev, int idx);
 
/**
 * pch_common_sir_write() - Write to a SATA indexed register
 *
 * @dev:    SATA device
 * @idx:    Register index to write
 * @value:    Value to write
 */
void pch_common_sir_write(struct udevice *dev, int idx, u32 value);
 
#endif