summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md39
1 files changed, 39 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..331f52c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,39 @@
+memtool
+=======
+
+memtool is a program that allows to access memory mapped registers. This is
+useful to inspect and modify registers from the command line.
+
+By default memtool uses `/dev/mem` to operate. So to actually work you need to
+have `DEVMEM` enabled in the kernel. Note that depending on further kernel
+configuration you can only access unused io-memory, see the kernel
+configuration knobs `IO_STRICT_DEVMEM` and `STRICT_DEVMEM`. Also note that
+there might be further restrictions. E.g. on several i.MX ARM SoCs register
+access is not possible from user mode for certain areas unless configured
+otherwise.
+
+memtool can also operate on plain files, and access PHY registers (via the
+`ioctl`s `SIOCSMIIREG` and `SIOCGMIIREG`).
+
+Examples
+---------
+
+ * Write a 32-bit wide 0 to register at address 0x73f00040
+
+ ```sh
+ # memtool mw -l 0x73f00040 0
+ ```
+
+ * Read the first two registers of the default PHY attached to network device
+ `eth0`:
+
+ ```sh
+ # memtool md -s mdio:eth0. -w 0+4
+ ```
+
+ * Place a (usually red) dot on the framebuffer:
+
+ ```sh
+ # memtool mw -d /dev/fb0 -w 0 0xfc00
+ ```
+