11 #include <linux/types.h>
13 #include <asm/processor.h>
27 static void udbg_scc_putc(
char c)
38 static int udbg_scc_getc_poll(
void)
49 static int udbg_scc_getc(
void)
59 static unsigned char scc_inittab[] = {
89 ch_def = of_node_get(ch);
91 ch_a = of_node_get(ch);
93 if (ch_def ==
NULL && !force_scc)
96 ch = ch_def ? ch_def : ch_a;
111 pmac_call_feature(PMAC_FTR_SCC_ENABLE, ch,
112 PMAC_SCC_ASYNC | PMAC_SCC_FLAG_XMON, 1);
117 sccc += addr & ~PAGE_MASK;
122 for (i = 20000; i != 0; --
i)
130 if (ch_def !=
NULL) {
132 scc_inittab[1] =
in_8(sccc);
134 scc_inittab[3] =
in_8(sccc);
147 for (i = 0; i <
sizeof(scc_inittab); ++
i)
148 out_8(sccc, scc_inittab[i]);
166 static void udbg_real_scc_putc(
char c)
172 udbg_real_scc_putc(
'\r');
175 void __init udbg_init_pmac_realmode(
void)
177 sccc = (
volatile u8 __iomem *)0x80013020ul;
178 sccd = (
volatile u8 __iomem *)0x80013030ul;