X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fserial.h;h=b9ef6d91c9c54714e595392861f2432f7698f1cb;hb=9ddcfef6d425f373a20dc218d93c8039afd8a625;hp=47332c53406eb16b2226d1792c463ab6066fd396;hpb=d77fa2ff766bbb4b867e791187f78b6033071613;p=u-boot diff --git a/include/serial.h b/include/serial.h index 47332c5340..b9ef6d91c9 100644 --- a/include/serial.h +++ b/include/serial.h @@ -26,12 +26,8 @@ extern struct serial_device serial_smc_device; extern struct serial_device serial_scc_device; extern struct serial_device *default_serial_console(void); -#if defined(CONFIG_405GP) || \ - defined(CONFIG_405EP) || defined(CONFIG_405EZ) || \ - defined(CONFIG_405EX) || defined(CONFIG_440) || \ - defined(CONFIG_MPC5xxx) || \ - defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \ - defined(CONFIG_MPC86xx) || defined(CONFIG_SYS_SC520) || \ +#if defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \ + defined(CONFIG_MPC86xx) || \ defined(CONFIG_TEGRA) || defined(CONFIG_SYS_COREBOOT) || \ defined(CONFIG_MICROBLAZE) extern struct serial_device serial0_device; @@ -69,15 +65,14 @@ extern int usbtty_tstc(void); #endif /* CONFIG_USB_TTY */ -#if defined(CONFIG_MPC512X) -extern struct stdio_dev *open_port(int num, int baudrate); -extern int close_port(int num); -extern int write_port(struct stdio_dev *port, char *buf); -extern int read_port(struct stdio_dev *port, char *buf, int size); -#endif - struct udevice; +enum serial_par { + SERIAL_PAR_NONE, + SERIAL_PAR_ODD, + SERIAL_PAR_EVEN +}; + /** * struct struct dm_serial_ops - Driver model serial operations * @@ -154,64 +149,47 @@ struct dm_serial_ops { */ int (*loop)(struct udevice *dev, int on); #endif + /** + * setparity() - Set up the parity + * + * Set up a new parity for this device. + * + * @dev: Device pointer + * @parity: parity to use + * @return 0 if OK, -ve on error + */ + int (*setparity)(struct udevice *dev, enum serial_par parity); }; /** * struct serial_dev_priv - information about a device used by the uclass * - * @sdev: stdio device attached to this uart + * @sdev: stdio device attached to this uart + * + * @buf: Pointer to the RX buffer + * @rd_ptr: Read pointer in the RX buffer + * @wr_ptr: Write pointer in the RX buffer */ struct serial_dev_priv { struct stdio_dev *sdev; + + char *buf; + int rd_ptr; + int wr_ptr; }; /* Access the serial operations for a device */ #define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops) -void amirix_serial_initialize(void); -void arc_serial_initialize(void); -void arm_dcc_initialize(void); -void asc_serial_initialize(void); void atmel_serial_initialize(void); void au1x00_serial_initialize(void); -void bfin_jtag_initialize(void); -void bfin_serial_initialize(void); -void bmw_serial_initialize(void); -void clps7111_serial_initialize(void); -void cogent_serial_initialize(void); -void cpci750_serial_initialize(void); -void evb64260_serial_initialize(void); -void imx_serial_initialize(void); -void iop480_serial_initialize(void); -void jz_serial_initialize(void); -void leon2_serial_initialize(void); -void leon3_serial_initialize(void); -void lh7a40x_serial_initialize(void); -void lpc32xx_serial_initialize(void); -void marvell_serial_initialize(void); -void max3100_serial_initialize(void); void mcf_serial_initialize(void); -void ml2_serial_initialize(void); -void mpc512x_serial_initialize(void); -void mpc5xx_serial_initialize(void); -void mpc8260_scc_serial_initialize(void); -void mpc8260_smc_serial_initialize(void); void mpc85xx_serial_initialize(void); void mpc8xx_serial_initialize(void); void mxc_serial_initialize(void); -void mxs_auart_initialize(void); void ns16550_serial_initialize(void); -void oc_serial_initialize(void); -void p3mx_serial_initialize(void); void pl01x_serial_initialize(void); void pxa_serial_initialize(void); -void s3c24xx_serial_initialize(void); -void s5p_serial_initialize(void); -void sa1100_serial_initialize(void); -void sandbox_serial_initialize(void); -void sconsole_serial_initialize(void); void sh_serial_initialize(void); -void uartlite_serial_initialize(void); -void zynq_serial_initialize(void); #endif