arch/sh/kernel/cpu/sh4a/serial-sh7722.c

Source file repositories/reference/linux-study-clean/arch/sh/kernel/cpu/sh4a/serial-sh7722.c

File Facts

System
Linux kernel
Corpus path
arch/sh/kernel/cpu/sh4a/serial-sh7722.c
Extension
.c
Size
498 bytes
Lines
25
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
#include <linux/serial_sci.h>
#include <linux/serial_core.h>
#include <linux/io.h>

#define PSCR 0xA405011E

static void sh7722_sci_init_pins(struct uart_port *port, unsigned int cflag)
{
	unsigned short data;

	if (port->mapbase == 0xffe00000) {
		data = __raw_readw(PSCR);
		data &= ~0x03cf;
		if (!(cflag & CRTSCTS))
			data |= 0x0340;

		__raw_writew(data, PSCR);
	}
}

struct plat_sci_port_ops sh7722_sci_port_ops = {
	.init_pins	= sh7722_sci_init_pins,
};

Annotation

Implementation Notes