static void smc_setbrg (void) { volatile immap_t *im = (immap_t *)CFG_IMMR; volatile cpm8xx_t *cp = &(im->im_cpm); /* Set up the baud rate generator. * See 8xx_io/commproc.c for details. * * Wire BRG1 to SMCx */ cp->cp_simode = 0x00000000; serial_setdivisor(cp); }
static void scc_setbrg (void) { volatile immap_t *im = (immap_t *)CFG_IMMR; volatile cpm8xx_t *cp = &(im->im_cpm); /* Set up the baud rate generator. * See 8xx_io/commproc.c for details. * * Wire BRG1 to SCCx */ cp->cp_sicr &= ~(0x000000FF << (8 * SCC_INDEX)); serial_setdivisor(cp); }
static int serial_mpc8xx_setbrg(struct udevice *dev, int baudrate) { immap_t __iomem *im = (immap_t __iomem *)CONFIG_SYS_IMMR; cpm8xx_t __iomem *cp = &(im->im_cpm); /* Set up the baud rate generator. * See 8xx_io/commproc.c for details. * * Wire BRG1 to SMCx */ out_be32(&cp->cp_simode, 0); serial_setdivisor(cp, baudrate); return 0; }