Overview, Driver architecture, Functional overview – Maxim Integrated 73M1822/73M1922 Hardware Module for SMDK412 User Manual

Page 6: 2overview 2.1 driver architecture, 2 functional overview, Insmod

Advertising
background image

73M1822/73M1922 Hardware Module for SMDK412 User Guide

UG_1x22_054

6

Rev. 1.1

2

Overview

2.1 Driver Architecture

The driver provides a framework by which applications can leverage the features of the 73M1x22 device.
The main interface of the driver provides an abstraction layer for monitoring and control of the device
status. Figure 1 depicts the driver functional block diagram.

73M1x22

Device

&

External

Components

SCLK

73M1x22 Hardware Interface Module

Control
Module

System

BSP

Register Read/Write

Control & Status

FS

SDIN

SDOUT

Data

Module

DATA

DATA

DATA

DATA

DATA

CTL

DATA

CTL

DATA

CTL

DATA

CTL

CTL

CTL

CTL

CTL

DATA

DATA

DATA

DATA

CTL

CTL

CTL

CTL

Tx/Rx Data

Control & Status

State Machine

API

INT

MS

TYPE

Figure 1: Driver Functional Block Diagram

2.2 Functional Overview

The 73M1x22 driver is built as a Linux loadable module (for Linux) or integrated with the operating system
kernel. It is brought into operation by a user application or by an operating system start up script. For
Linux, the insmod command is used to insert the driver into the kernel. The insmod command invokes
the module_init() macro, which in turn runs the one-time initialization function of the driver. Before
exiting the initialization the driver enters its main operational state via the scheduling of one of many
timers that make up the driver’s main processing.
This description is valid for Linux 2.6. The driver takes the form of a Linux standard character device
driver. It is brought into operation by a user application or by Linux startup script using the

insmod

command. This command inserts the driver module into the kernel which in turn registers with the kernel
using the default major number of 250
Once installed, the driver is a self-contained module running independently along with the kernel
processes. Its main purpose is to monitor and control the MAFE interface, transfer MAFE frames to and
from the 73M1x22 device and to provide access to the 73M1x22 device for management purposes, via
standard driver access methods such as open, close, select, ioctl, etc. The following sections
provide an overview of that functionality.

Advertising