안녕하세요
16c554 UART 칩 포팅관련하여 질문을 드립니다.
먼저 프로세서는 MPC8313 이며(POWER PC)
Linux 2.6.20 을 씁니다.

기존에 프로세서에서 지원하는 2개의 UART 를 썼는데,
UART 가 추가 로 필요하게 되어 16C554 칩을 쓰게 되었습니다.
16550 4개를 CS 4개를 통하여 제어한다고 생각하면 편합니다.
회로 연결은 Local BUS 에 칩의 Address ,Data,Irq 를 연결하였습니다.
그리고 Local BUS 의 OE,WE 을 칩의 Read,Write Enable 에 연결하였습니다.
그런데 기존 버전 2.4때에서는 Serial.h 에서
#define EXTRA_SERIAL_PORT_DEFNS
, {
type: PORT_16C550,
xmit_fifo_size: 16,
baud_base: EXTRA_BAUD_BASE,
iomem_base: (void *)&EXT_UART1,
iomem_reg_shift: 1,
io_type: SERIAL_IO_MEM,
irq: IRQ_UART1,
flags: EXTRA_STD_COM_FLAGS,
}, {
type: PORT_16C550,
xmit_fifo_size: 16,
baud_base: EXTRA_BAUD_BASE,
iomem_base: (void *)&EXT_UART2,
iomem_reg_shift: 1,
io_type: SERIAL_IO_MEM,
irq: IRQ_UART2,
flags: EXTRA_STD_COM_FLAGS,
}, {
type: PORT_16C550,
xmit_fifo_size: 16,
baud_base: EXTRA_BAUD_BASE,
iomem_base: (void *)&EXT_UART3,
iomem_reg_shift: 1,
io_type: SERIAL_IO_MEM,
irq: IRQ_UART3,
flags: EXTRA_STD_COM_FLAGS,
}, {
type: PORT_16C550,
xmit_fifo_size: 16,
baud_base: EXTRA_BAUD_BASE,
iomem_base: (void *)&EXT_UART4,
iomem_reg_shift: 1,
io_type: SERIAL_IO_MEM,
irq: IRQ_UART4,
flags: EXTRA_STD_COM_FLAGS,
}

#else
#define EXTRA_SERIAL_PORT_DEFNS
#endif

위와 같이 포트를 추가하여주었는데 2.6 에서는 어디에 추가 를 해야될지모르겠습니다.
추가 하는 곳만 알면 거기에 추가 해볼텐데 drivers/serial/8250.c 에 추가 해야하는건가여?
2.6 에 외부 Serial Port 를 어디에서 구조체를 선언해야되는지 아시는 분 도움좀 주세요~~
며칠째 씨름 하고 있는데~~너무 않되네여~~~꼭도와주세여~~~`!!


==============================================================================================================

Freescale 계열은 /arch/powerpc/boot/mpc8313erdb.dtd
파일을 수정해야할거같은데 너무 막막하네여
이 DTD 파일이 Kernel 보다 먼저 실행되는거같습니다.


WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,