]>
Commit | Line | Data |
---|---|---|
c609719b WD |
1 | /* |
2 | * (C) Copyright 2000 | |
3 | * Rob Taylor, Flying Pig Systems. [email protected]. | |
4 | * | |
1a459660 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
c609719b WD |
6 | */ |
7 | ||
8 | #include <config.h> | |
9 | ||
c609719b WD |
10 | #include <ns87308.h> |
11 | ||
12 | void initialise_ns87308 (void) | |
13 | { | |
6d0f6bcf | 14 | #ifdef CONFIG_SYS_NS87308_PS2MOD |
c609719b WD |
15 | unsigned char data; |
16 | ||
17 | /* | |
18 | * Switch floppy drive to PS/2 mode. | |
19 | */ | |
20 | read_pnp_config(SUPOERIO_CONF1, &data); | |
21 | data &= 0xFB; | |
22 | write_pnp_config(SUPOERIO_CONF1, data); | |
23 | #endif | |
24 | ||
6d0f6bcf JCPV |
25 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_KBC1) |
26 | PNP_SET_DEVICE_BASE(LDEV_KBC1, CONFIG_SYS_NS87308_KBC1_BASE); | |
c609719b WD |
27 | write_pnp_config(LUN_CONFIG_REG, 0); |
28 | write_pnp_config(CBASE_HIGH, 0x00); | |
29 | write_pnp_config(CBASE_LOW, 0x64); | |
30 | #endif | |
31 | ||
6d0f6bcf | 32 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_MOUSE) |
c609719b WD |
33 | PNP_ACTIVATE_DEVICE(LDEV_MOUSE); |
34 | #endif | |
35 | ||
6d0f6bcf JCPV |
36 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_RTC_APC) |
37 | PNP_SET_DEVICE_BASE(LDEV_RTC_APC, CONFIG_SYS_NS87308_RTC_BASE); | |
c609719b WD |
38 | #endif |
39 | ||
6d0f6bcf JCPV |
40 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_FDC) |
41 | PNP_SET_DEVICE_BASE(LDEV_FDC, CONFIG_SYS_NS87308_FDC_BASE); | |
c609719b WD |
42 | write_pnp_config(LUN_CONFIG_REG, 0x40); |
43 | #endif | |
44 | ||
6d0f6bcf JCPV |
45 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_RARP) |
46 | PNP_SET_DEVICE_BASE(LDEV_PARP, CONFIG_SYS_NS87308_LPT_BASE); | |
c609719b WD |
47 | #endif |
48 | ||
6d0f6bcf JCPV |
49 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_UART1) |
50 | PNP_SET_DEVICE_BASE(LDEV_UART1, CONFIG_SYS_NS87308_UART1_BASE); | |
c609719b WD |
51 | #endif |
52 | ||
6d0f6bcf JCPV |
53 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_UART2) |
54 | PNP_SET_DEVICE_BASE(LDEV_UART2, CONFIG_SYS_NS87308_UART2_BASE); | |
c609719b WD |
55 | #endif |
56 | ||
6d0f6bcf JCPV |
57 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_GPIO) |
58 | PNP_SET_DEVICE_BASE(LDEV_GPIO, CONFIG_SYS_NS87308_GPIO_BASE); | |
c609719b WD |
59 | #endif |
60 | ||
6d0f6bcf JCPV |
61 | #if (CONFIG_SYS_NS87308_DEVS & CONFIG_SYS_NS87308_POWRMAN) |
62 | #ifndef CONFIG_SYS_NS87308_PWMAN_BASE | |
c609719b WD |
63 | PNP_ACTIVATE_DEVICE(LDEV_POWRMAN); |
64 | #else | |
6d0f6bcf | 65 | PNP_SET_DEVICE_BASE(LDEV_POWRMAN, CONFIG_SYS_NS87308_PWMAN_BASE); |
c609719b WD |
66 | |
67 | /* | |
68 | * Enable all units | |
69 | */ | |
6d0f6bcf JCPV |
70 | write_pm_reg(CONFIG_SYS_NS87308_PWMAN_BASE, PWM_FER1, 0x7d); |
71 | write_pm_reg(CONFIG_SYS_NS87308_PWMAN_BASE, PWM_FER2, 0x87); | |
c609719b | 72 | |
6d0f6bcf JCPV |
73 | #ifdef CONFIG_SYS_NS87308_PMC1 |
74 | write_pm_reg(CONFIG_SYS_NS87308_PWMAN_BASE, PWM_PMC1, CONFIG_SYS_NS87308_PMC1); | |
c609719b WD |
75 | #endif |
76 | ||
6d0f6bcf JCPV |
77 | #ifdef CONFIG_SYS_NS87308_PMC2 |
78 | write_pm_reg(CONFIG_SYS_NS87308_PWMAN_BASE, PWM_PMC2, CONFIG_SYS_NS87308_PMC2); | |
c609719b WD |
79 | #endif |
80 | ||
6d0f6bcf JCPV |
81 | #ifdef CONFIG_SYS_NS87308_PMC3 |
82 | write_pm_reg(CONFIG_SYS_NS87308_PWMAN_BASE, PWM_PMC3, CONFIG_SYS_NS87308_PMC3); | |
c609719b WD |
83 | #endif |
84 | #endif | |
85 | #endif | |
86 | ||
6d0f6bcf JCPV |
87 | #ifdef CONFIG_SYS_NS87308_CS0_BASE |
88 | PNP_PGCS_CSLINE_BASE(0, CONFIG_SYS_NS87308_CS0_BASE); | |
89 | PNP_PGCS_CSLINE_CONF(0, CONFIG_SYS_NS87308_CS0_CONF); | |
c609719b WD |
90 | #endif |
91 | ||
6d0f6bcf JCPV |
92 | #ifdef CONFIG_SYS_NS87308_CS1_BASE |
93 | PNP_PGCS_CSLINE_BASE(1, CONFIG_SYS_NS87308_CS1_BASE); | |
94 | PNP_PGCS_CSLINE_CONF(1, CONFIG_SYS_NS87308_CS1_CONF); | |
c609719b WD |
95 | #endif |
96 | ||
6d0f6bcf JCPV |
97 | #ifdef CONFIG_SYS_NS87308_CS2_BASE |
98 | PNP_PGCS_CSLINE_BASE(2, CONFIG_SYS_NS87308_CS2_BASE); | |
99 | PNP_PGCS_CSLINE_CONF(2, CONFIG_SYS_NS87308_CS2_CONF); | |
c609719b WD |
100 | #endif |
101 | } |