13 #define PM_MMIO_BASE 0xfed80300
16 #define BIOSRAM_INDEX 0xcd4
17 #define BIOSRAM_DATA 0xcd5
18 #define PM_INDEX 0xcd6
20 #define PM2_INDEX 0xcd0
21 #define PM2_DATA 0xcd1
23 #define PM_ACPI_MMIO_EN 0x24
24 #define PM_SERIRQ_CONF 0x54
25 #define PM_EVT_BLK 0x60
26 #define PM1_CNT_BLK 0x62
27 #define PM_TMR_BLK 0x64
28 #define PM_CPU_CTRL 0x66
29 #define PM_GPE0_BLK 0x68
30 #define PM_ACPI_SMI_CMD 0x6A
31 #define PM_ACPI_CONF 0x74
32 #define PM_PMIO_DEBUG 0xD2
33 #define PM_MANUAL_RESET 0xD3
34 #define PM_HUD_SD_FLASH_CTRL 0xE7
35 #define PM_YANG_SD_FLASH_CTRL 0xE8
36 #define PM_PCIB_CFG 0xEA
38 #define HUDSON_ACPI_IO_BASE CONFIG_HUDSON_ACPI_IO_BASE
39 #define ACPI_PM_EVT_BLK (HUDSON_ACPI_IO_BASE + 0x00)
40 #define ACPI_PM1_CNT_BLK (HUDSON_ACPI_IO_BASE + 0x04)
41 #define ACPI_PM_TMR_BLK (HUDSON_ACPI_IO_BASE + 0x18)
42 #define ACPI_GPE0_BLK (HUDSON_ACPI_IO_BASE + 0x10)
43 #define ACPI_CPU_CONTROL (HUDSON_ACPI_IO_BASE + 0x08)
45 #define ACPI_SMI_CTL_PORT 0xb2
46 #define ACPI_SMI_CMD_CST_CONTROL 0xde
47 #define ACPI_SMI_CMD_PST_CONTROL 0xad
48 #define ACPI_SMI_CMD_DISABLE 0xbe
49 #define ACPI_SMI_CMD_ENABLE 0xef
50 #define ACPI_SMI_CMD_S4_REQ 0xc0
52 #define REV_HUDSON_A11 0x11
53 #define REV_HUDSON_A12 0x12
55 #define SPIROM_BASE_ADDRESS_REGISTER 0xA0
56 #define ROUTE_TPM_2_SPI BIT(3)
57 #define SPI_ROM_ENABLE 0x02
58 #define SPI_BASE_ADDRESS 0xFEC10000
60 #define LPC_IO_PORT_DECODE_ENABLE 0x44
61 #define DECODE_ENABLE_PARALLEL_PORT0 BIT(0)
62 #define DECODE_ENABLE_PARALLEL_PORT1 BIT(1)
63 #define DECODE_ENABLE_PARALLEL_PORT2 BIT(2)
64 #define DECODE_ENABLE_PARALLEL_PORT3 BIT(3)
65 #define DECODE_ENABLE_PARALLEL_PORT4 BIT(4)
66 #define DECODE_ENABLE_PARALLEL_PORT5 BIT(5)
67 #define DECODE_ENABLE_SERIAL_PORT0 BIT(6)
68 #define DECODE_ENABLE_SERIAL_PORT1 BIT(7)
69 #define DECODE_ENABLE_SERIAL_PORT2 BIT(8)
70 #define DECODE_ENABLE_SERIAL_PORT3 BIT(9)
71 #define DECODE_ENABLE_SERIAL_PORT4 BIT(10)
72 #define DECODE_ENABLE_SERIAL_PORT5 BIT(11)
73 #define DECODE_ENABLE_SERIAL_PORT6 BIT(12)
74 #define DECODE_ENABLE_SERIAL_PORT7 BIT(13)
75 #define DECODE_ENABLE_AUDIO_PORT0 BIT(14)
76 #define DECODE_ENABLE_AUDIO_PORT1 BIT(15)
77 #define DECODE_ENABLE_AUDIO_PORT2 BIT(16)
78 #define DECODE_ENABLE_AUDIO_PORT3 BIT(17)
79 #define DECODE_ENABLE_MIDI_PORT0 BIT(18)
80 #define DECODE_ENABLE_MIDI_PORT1 BIT(19)
81 #define DECODE_ENABLE_MIDI_PORT2 BIT(20)
82 #define DECODE_ENABLE_MIDI_PORT3 BIT(21)
83 #define DECODE_ENABLE_MSS_PORT0 BIT(22)
84 #define DECODE_ENABLE_MSS_PORT1 BIT(23)
85 #define DECODE_ENABLE_MSS_PORT2 BIT(24)
86 #define DECODE_ENABLE_MSS_PORT3 BIT(25)
87 #define DECODE_ENABLE_FDC_PORT0 BIT(26)
88 #define DECODE_ENABLE_FDC_PORT1 BIT(27)
89 #define DECODE_ENABLE_GAME_PORT BIT(28)
90 #define DECODE_ENABLE_KBC_PORT BIT(29)
91 #define DECODE_ENABLE_ACPIUC_PORT BIT(30)
92 #define DECODE_ENABLE_ADLIB_PORT BIT(31)
94 #define LPC_IO_OR_MEM_DECODE_ENABLE 0x48
95 #define LPC_WIDEIO2_ENABLE BIT(25)
96 #define LPC_WIDEIO1_ENABLE BIT(24)
97 #define LPC_WIDEIO0_ENABLE BIT(2)
99 #define LPC_WIDEIO_GENERIC_PORT 0x64
101 #define LPC_ALT_WIDEIO_RANGE_ENABLE 0x74
102 #define LPC_ALT_WIDEIO2_ENABLE BIT(3)
103 #define LPC_ALT_WIDEIO1_ENABLE BIT(2)
104 #define LPC_ALT_WIDEIO0_ENABLE BIT(0)
106 #define LPC_TRUSTED_PLATFORM_MODULE 0x7c
107 #define TPM_12_EN BIT(0)
108 #define TPM_LEGACY_EN BIT(2)
110 #define LPC_WIDEIO2_GENERIC_PORT 0x90
112 #define SPI_CNTRL0 0x00
113 #define SPI_READ_MODE_MASK (BIT(30) | BIT(29) | BIT(18))
115 #define SPI_READ_MODE_NOM 0x00000000
116 #define SPI_READ_MODE_DUAL112 ( BIT(29) )
117 #define SPI_READ_MODE_QUAD114 ( BIT(29) | BIT(18))
118 #define SPI_READ_MODE_DUAL122 (BIT(30) )
119 #define SPI_READ_MODE_QUAD144 (BIT(30) | BIT(18))
120 #define SPI_READ_MODE_NORMAL66 (BIT(30) | BIT(29) )
122 #define SPI_READ_MODE_FAST_HUDSON1 ( BIT(18))
123 #define SPI_READ_MODE_FAST (BIT(30) | BIT(29) | BIT(18))
124 #define SPI_ARB_ENABLE BIT(19)
126 #define SPI_CNTRL1 0x0c
128 #define SPI_CNTRL1_SPEED_MASK (BIT(15) | BIT(14) | BIT(13) | BIT(12))
129 #define SPI_NORM_SPEED_SH 12
130 #define SPI_FAST_SPEED_SH 8
132 #define SPI100_ENABLE 0x20
133 #define SPI_USE_SPI100 BIT(0)
135 #define SPI100_SPEED_CONFIG 0x22
136 #define SPI_SPEED_66M (0x0)
137 #define SPI_SPEED_33M ( BIT(0))
138 #define SPI_SPEED_22M ( BIT(1) )
139 #define SPI_SPEED_16M ( BIT(1) | BIT(0))
140 #define SPI_SPEED_100M (BIT(2) )
141 #define SPI_SPEED_800K (BIT(2) | BIT(0))
142 #define SPI_NORM_SPEED_NEW_SH 12
143 #define SPI_FAST_SPEED_NEW_SH 8
144 #define SPI_ALT_SPEED_NEW_SH 4
145 #define SPI_TPM_SPEED_NEW_SH 0
147 #define SPI100_HOST_PREF_CONFIG 0x2c
148 #define SPI_RD4DW_EN_HOST BIT(15)
153 return (CONFIG_HUDSON_SATA_MODE == 0) || (CONFIG_HUDSON_SATA_MODE == 2);
159 return (CONFIG_HUDSON_SATA_MODE == 0) || (CONFIG_HUDSON_SATA_MODE == 3);
void hudson_enable(struct device *dev)
void hudson_pci_port80(void)
void hudson_clk_output_48Mhz(void)
void hudson_lpc_decode(void)
void hudson_lpc_port80(void)
void hudson_read_mode(u32 mode)
void hudson_set_spi100(u16 norm, u16 fast, u16 alt, u16 tpm)
static int hudson_sata_enable(void)
void s3_resume_init_data(void *FchParams)
static int hudson_ide_enable(void)
void hudson_disable_4dw_burst(void)
void hudson_tpm_decode_spi(void)
void lpc_wideio_16_window(uint16_t base)
void hudson_set_readspeed(u16 norm, u16 fast)
void lpc_wideio_512_window(uint16_t base)