ARMV7: S5P: serial: support the s5pc210
This patch is for s5pc210 support. Due to the resigter of baudrate is changed from slot to value, add both of them to uart structure. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
This commit is contained in:
parent
1727e21698
commit
1628cfc4fe
|
@ -24,6 +24,12 @@
|
||||||
#define __ASM_ARCH_UART_H_
|
#define __ASM_ARCH_UART_H_
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
/* baudrate rest value */
|
||||||
|
union br_rest {
|
||||||
|
unsigned short slot; /* udivslot */
|
||||||
|
unsigned char value; /* ufracval */
|
||||||
|
};
|
||||||
|
|
||||||
struct s5p_uart {
|
struct s5p_uart {
|
||||||
unsigned int ulcon;
|
unsigned int ulcon;
|
||||||
unsigned int ucon;
|
unsigned int ucon;
|
||||||
|
@ -38,10 +44,12 @@ struct s5p_uart {
|
||||||
unsigned char urxh;
|
unsigned char urxh;
|
||||||
unsigned char res2[3];
|
unsigned char res2[3];
|
||||||
unsigned int ubrdiv;
|
unsigned int ubrdiv;
|
||||||
unsigned short udivslot;
|
union br_rest rest;
|
||||||
unsigned char res3[2];
|
unsigned char res3[0x3d0];
|
||||||
unsigned char res4[0x3d0];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int use_divslot = 1;
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -70,7 +70,11 @@ void serial_setbrg_dev(const int dev_index)
|
||||||
val = uclk / baudrate;
|
val = uclk / baudrate;
|
||||||
|
|
||||||
writel(val / 16 - 1, &uart->ubrdiv);
|
writel(val / 16 - 1, &uart->ubrdiv);
|
||||||
writew(udivslot[val % 16], &uart->udivslot);
|
|
||||||
|
if (use_divslot)
|
||||||
|
writew(udivslot[val % 16], &uart->rest.slot);
|
||||||
|
else
|
||||||
|
writeb(val % 16, &uart->rest.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue