cregit-Linux how code gets into the kernel

Release 4.14 arch/powerpc/boot/mpc52xx-psc.c

// SPDX-License-Identifier: GPL-2.0
/*
 * MPC5200 PSC serial console support.
 *
 * Author: Grant Likely <grant.likely@secretlab.ca>
 *
 * Copyright (c) 2007 Secret Lab Technologies Ltd.
 * Copyright (c) 2007 Freescale Semiconductor, Inc.
 *
 * It is assumed that the firmware (or the platform file) has already set
 * up the port.
 */

#include "types.h"
#include "io.h"
#include "ops.h"

/* Programmable Serial Controller (PSC) status register bits */

#define MPC52xx_PSC_SR		0x04

#define MPC52xx_PSC_SR_RXRDY		0x0100

#define MPC52xx_PSC_SR_RXFULL		0x0200

#define MPC52xx_PSC_SR_TXRDY		0x0400

#define MPC52xx_PSC_SR_TXEMP		0x0800


#define MPC52xx_PSC_BUFFER	0x0C


static void *psc;


static int psc_open(void) { /* Assume the firmware has already configured the PSC into * uart mode */ return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely12100.00%1100.00%
Total12100.00%1100.00%


static void psc_putc(unsigned char c) { while (!(in_be16(psc + MPC52xx_PSC_SR) & MPC52xx_PSC_SR_TXRDY)) ; out_8(psc + MPC52xx_PSC_BUFFER, c); }

Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely34100.00%1100.00%
Total34100.00%1100.00%


static unsigned char psc_tstc(void) { return (in_be16(psc + MPC52xx_PSC_SR) & MPC52xx_PSC_SR_RXRDY) != 0; }

Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely23100.00%1100.00%
Total23100.00%1100.00%


static unsigned char psc_getc(void) { while (!(in_be16(psc + MPC52xx_PSC_SR) & MPC52xx_PSC_SR_RXRDY)) ; return in_8(psc + MPC52xx_PSC_BUFFER); }

Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely32100.00%1100.00%
Total32100.00%1100.00%


int mpc5200_psc_console_init(void *devp, struct serial_console_data *scdp) { /* Get the base address of the psc registers */ if (dt_get_virtual_reg(devp, &psc, 1) < 1) return -1; scdp->open = psc_open; scdp->putc = psc_putc; scdp->getc = psc_getc; scdp->tstc = psc_tstc; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely5693.33%150.00%
Laurent Pinchart46.67%150.00%
Total60100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Grant C. Likely19797.52%133.33%
Laurent Pinchart41.98%133.33%
Greg Kroah-Hartman10.50%133.33%
Total202100.00%3100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.