Changes between Initial Version and Version 1 of peripherals_drivers


Ignore:
Timestamp:
Oct 15, 2014, 12:33:45 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • peripherals_drivers

    v1 v1  
     1= GIET_VM / Peripherals Drivers =
     2
     3[[PageOutline]]
     4
     5The GIET_VM supports two types of peripheral components: '''External peripherals''' are located in one single cluster (called ''cluster_io'', and identified by the ''X_IO,Y_IO'' variables); '''Internal peripherals''' are replicated in all clusters.
     6
     7Each driver xxx_driver define two low-level functions ''_xxx_get_register()'' and ''_xxx_set_register()''
     8to access the peripheral addressable registers. These functions are in charge to compute the peripheral registers addresses, taking into account the peripheral base address, the register index, and the cluster coordinates:
     9
     10 * '''External peripherals''': All accesses use virtual addresses if the MMU (Memory management Unit) is activated, or physical addresses if it is not. In this case, the physical address is computed as pbase = SEG_XXX_BASE + cluster_io << 32.
     11
     12 * '''Internal peripherals''': All accesses use virtual addresses, and the MMU must be activated. The peripheral virtual base address is computed as vbase = SEG_XXX_BASE + cluster_xy * PERI_CLUSTER_INCREMENT.
     13
     14The X_IO, Y_IO, and PERI_CLUSTER_INCREMENT variables must be defined in the ''hard_config.h" file.
     15
     16 === [wiki:bdv_driver     BDV  (Block Device controller)]
     17 
     18 === [wiki:cma_driver     CMA (Chained Buffer DMA controller)]
     19
     20 === [wiki:dma_driver     DMA (Multi-Channels DMA controller)]
     21
     22 === [wiki:fbf_driver     FBF (Frame Buffer controller)]
     23
     24 === [wiki:hba_driver     HBA (AHCI Disk controller)]
     25
     26 === [wiki:icu_driver     ICU (Interrupt controller)]
     27
     28 === [wiki:iob_driver     IOB (I/O Bridge controller)]
     29
     30 === [wiki:ioc_driver     IOC (Generic I/O controller)]
     31
     32 === [wiki:mmc_driver     MMC (Memory Cache controller)]
     33
     34 === [wiki:nic_driver     NIC (Gigabit Ethernet Network controller)]
     35
     36 === [wiki:pic_driver     PIC (External Peripherals Interrupt controller)]
     37
     38 === [wiki:rdk_driver     RDK (RamDisk)]
     39
     40 === [wiki:sim_driver     SIM (Monitor controller)]
     41
     42 === [wiki:sdc_driver     SDC (SDC Disk controller)]
     43
     44 === [wiki:tim_driver     TIM (Multi Timers controller)]
     45
     46 === [wiki:tty_driver     TTY (Multi Terminals TTY controller)]
     47
     48 === [wiki:xcu_driver     XCU (Extended Interrupt controller)]