Showing posts with label Linux Driver. Show all posts
Showing posts with label Linux Driver. Show all posts

Monday, July 1, 2013

Linux Expert Series




  • Rami Rosen: http://ramirose.wix.com/ramirosen

  • Networking (PDF 2003,)
    Namespaces and cgroups (PDF 2003,)

    Linux Kernel Networking: Implementation and Theory (Apress)



    Publishing December 27, 2013
    ISBN13: 978-1-4302-6196-4
    600 Pages













  • Tuesday, August 28, 2012

    Serial ATA AHCI

    AHCI 1.3 Specification (Download PDF)

    U-boot AHCI Driver

    U-boot Synopsys AHCI Driver

    Linux AHCI Driver

    Linux Synopsys AHCI Driver


    Tuesday, June 14, 2011

    Friday, February 11, 2011

    RGMII

    MDIO Read Operation













    MDIO Write Operation














    Reference:
    1. MDIO Background

    Thursday, December 30, 2010

    Linux RAID framework

    Software RAID implementations
    1. Multiple Device (MD) subsystem
    2. Device Mapper (DM)
    3. Btrfs filesystem
    The main jobs for RAID

    (1) RAID management tasks

    (2) The exclusive-or (XOR) computations

    The XOR computation can be performed on CPU
    The XOR computation can be performed on disk drives

    For example: Write operation to a RAID 5 disk array

    1. Read "old" data from the data drive.
    2. Read "old" parity data from the parity drive.
    3. XOR the old data from the data drive with the old parity data from the parity drive.
    4. Write the new data to the data drive.
    5. XOR the new data with the parity data and write the result to the parity drive.

    Hardware Solution: XOR hardware engines for parity calculations
    The hardware engines typically consist of a high-speed memory buffer and a XOR calculator/sequencer.

    RAID Level Comparison

    GPU system on Linux

    Linux Framebuffer


    Wednesday, August 18, 2010

    Wednesday, August 11, 2010

    OpenHCI


    Linux Device Driver


    U-boot Driver

    # usb start
    (Re)start USB...
    USB: scanning bus for devices... 2 USB Device(s) found
    scanning bus for storage devices... 1 Storage Device(s) found

    # usb tree
    Device Tree:
    1 Hub (12MBit/s, 0mA)
    | OHCI Root Hub
    |
    +-2 Mass Storage (12MBit/s, 100mA)
    JetFlash Mass Storage Device

    # usb storage
    Device 0: Vendor: JetFlash Rev: 8.07 Prod: TS8GJFV60
    Type: Removable Hard Disk
    Capacity: 7660.0 MB = 7.4 GB (15687680 x 512)

    # usb info

    # fatload usb 0 0x2000000 bootpImage

    # go 0x2000000

    Monday, May 3, 2010

    I2C Bus

    I2C

    I2C Linux Device Driver

    The major driver is composed of the following:
    • Adapter specific code: /drivers/i2c/busses/i2c-xxxx.c
    • Algorithm: /drivers/i2c/algos/i2c-algo-xxxx.c
    • I2C-core: /drivers/i2c/i2c-core.c
    • I2C-dev: /drivers/i2c/i2c-dev.c
    • The I2C-dev block allows the userland program to access the I2C device (ex, EEPROM, RTC) through the /dev interface.

    I2C Test Tools on Linux
    i2c-tools
    eeprog

    Reference:

    Wednesday, March 24, 2010

    RAID on Linux

    Wiki
    Standard RAID levels
    Linux Raid
    LHN

    Mailing list
    Linux RAID Storage

    Book
    Managing RAID on Linux, 2002 O'Reilly (PDF)

    Monday, October 26, 2009

    Gigabit Ethernet Controller

    Pseudo Linux Network Device Driver (tar.gz)

    Wednesday, May 20, 2009

    MMC/SD/SDIO on Linux

    MMC/SD/SDIO Device Driver
    Download patch

    How to use MMC/SD card

    [ ]# cat /proc/partitions

    [ ]# mknod /dev/mmcblk0 b 179 0
    [ ]# mknod /dev/mmcblk0p1 b 179 1

    [ ]# mount /dev/mmcblk0p1 /mnt

    RTC on Linux

    Real Time Clock

    RTC Device Driver
    Download patch

    RTC Utility

    [ ]# mknod /dev/rtc0 c 254 0

    [ ]# date 2009.05.20-12:34:56

    [ ]# hwclock -w

    [ ]# cat /proc/driver/rtc

    [ ]#

    Monday, April 27, 2009

    Watchdog Timer

    Hardware Watchdog Driver

    Userspace Watchdog Program

    Software Watchdog

    Monday, February 9, 2009

    LCD Driver for u-boot and Linux

    LCD Controller:
    LCD Panel:

    LCD Driver for u-boot



    LCD Driver for Linux

    Friday, November 21, 2008

    AMBA Bus Driver for Linux

    /linux//drivers/smba/

    1. The AMBA core layer registers each detected AMBA bus using bus_register().
    2. When an AMBA client device is probed and detected, its existence is recorded via device_register().
    3. Finally, the client driver registers itself using driver_register().

    Tuesday, October 28, 2008

    Serial Peripheral Interface (SPI)

    Read Addr 0x0, Return = 0x2



    Write Addr 0x0, Register Value = 0x2



    Reference:
    1. Designing Embedded Hardware, Second Edition - Chapter 7. Adding Peripherals Using SPI

    SATA on the Linux Kernel

    Synopsys (DesignWare Cores SATA AHCI)

    Synopsys (DesignWare Cores SATA Host) (patch)

    Reference:
    http://en.wikipedia.org/wiki/Serial_ATA

    Friday, October 24, 2008

    USB Host Controller on the Linux Kernel

    USB Host Controller

    (1) ST-NXP (ISP 1760)

    (2) Synopsys (DWC USB 2.0 HS High Speed, EHCI/OHCI)

    Friday, September 26, 2008

    USB on the Linux Kernel

    When I was a BIOS engineer in Compal Electronics about 9 years ago, I first met USB in notebook. My assigned job is USB legacy support in the system BIOS, so it's an old friend to me. Definitely, USB is an excellent component and a must have function for some consumer product today. For example, PDA, iPod, Wi-Fi phone, etc. Fortunately, USB OTG makes it's possible for me to study and read USB again.

    USB Reading Book List:
    1. Universal Serial Bus System Architecture, Mindshare Inc.
    2. Synopsys DesignWare Cores USB 2.0 Hi-Speed On-The-Go, Synopsys
    3. USB 2.0 Specification, USB-IF (Download)
    4. On-The-Go Supplement to the USB 2.0 Specification, USB-IF
    5. ISP1761 Linux Programming Guide, NXP (PB11MPCore)
    6. USB Complete: Everything You Need to Develop Custom USB Peripherals, Lakeview Research
    7. USB Mass Storage: Designing and Programming Devices and Embedded Hosts, Lakeview Research

    Internet Resource:
    1. USB Made Simple
    2. USB in a NutShell - a little journey through the USB 2.0 Spec.