File: mmio.rst

package info (click to toggle)
python-periphery 2.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 424 kB
  • sloc: python: 3,496; makefile: 21
file content (46 lines) | stat: -rw-r--r-- 939 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
MMIO
====

Code Example
------------

.. code-block:: python

    from periphery import MMIO
    
    # Open am335x real-time clock subsystem page
    rtc_mmio = MMIO(0x44E3E000, 0x1000)
    
    # Read current time
    rtc_secs = rtc_mmio.read32(0x00)
    rtc_mins = rtc_mmio.read32(0x04)
    rtc_hrs = rtc_mmio.read32(0x08)
    
    print("hours: {:02x} minutes: {:02x} seconds: {:02x}".format(rtc_hrs, rtc_mins, rtc_secs))
    
    rtc_mmio.close()
    
    # Open am335x control module page
    ctrl_mmio = MMIO(0x44E10000, 0x1000)
    
    # Read MAC address
    mac_id0_lo = ctrl_mmio.read32(0x630)
    mac_id0_hi = ctrl_mmio.read32(0x634)
    
    print("MAC address: {:04x}{:08x}".format(mac_id0_lo, mac_id0_hi))
    
    ctrl_mmio.close()

API
---

.. autoclass:: periphery.MMIO
    :members:
    :undoc-members:
    :show-inheritance:

.. autoclass:: periphery.MMIOError
    :members:
    :undoc-members:
    :show-inheritance: