summaryrefslogtreecommitdiffstats
path: root/user/bsps/arm
diff options
context:
space:
mode:
authorG S Niteesh Babu <niteesh.gs@gmail.com>2021-04-11 00:45:25 +0530
committerChristian Mauderer <oss@c-mauderer.de>2021-04-22 18:47:16 +0200
commit2ce0fe2b8e8749e841c39b08f3e7011dc5e91d63 (patch)
treef0f26eae8f8f4be517a72946f12ce42e9cb7e73f /user/bsps/arm
parentc-user: fix broken definition in rate-monotonic background. (diff)
downloadrtems-docs-2ce0fe2b8e8749e841c39b08f3e7011dc5e91d63.tar.bz2
user/bsps/arm/beagle: Update i2c initialization instructions
The new i2c driver in the beagle BSP uses FDT based initialization. This updates the documentation of the BSP about the same.
Diffstat (limited to 'user/bsps/arm')
-rw-r--r--user/bsps/arm/beagle.rst41
1 files changed, 28 insertions, 13 deletions
diff --git a/user/bsps/arm/beagle.rst b/user/bsps/arm/beagle.rst
index 5789bb8..696b89d 100644
--- a/user/bsps/arm/beagle.rst
+++ b/user/bsps/arm/beagle.rst
@@ -67,23 +67,38 @@ Add the following to a file named uEnv.txt:
I2C Driver
----------
-The Beagle has the `i2c-0` device registered at initialization. For registering
-`i2c-1` and `i2c-2` ``bbb_register_i2c_1()`` and
-``bbb_register_i2c_2()`` wrapper functions are respectively used.
+The Beagle i2c initialization is based on the device tree. To initialize a i2c
+device, the user has to enable the respective node in the device tree using
+overlays.
-For registering an I2C device with a custom path (say `/dev/i2c-3`) the
-function ``am335x_i2c_bus_register()`` has to be used.
+For registering an I2C device with a custom path (say `/dev/i2c-eeprom`) an
+overlay has to be provided. The overlay must add an additional attribute
+`rtems,path` with the custom path as value to the respective i2c node.
-The function prototype is given below:
+For example,
-.. code-block:: C
+.. code-block::
+ /dts-v1/;
+
+ / {
+ compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
+
+ fragment@0 {
+ target = <0xffffffff>;
+
+ __overlay__ {
+ compatible = "rtems,bsp-i2c", "ti,omap4-i2c";
+ status = "okay";
+ rtems,path = "/dev/i2c-eeprom";
+ };
+ };
+
+ __fixups__ {
+ i2c0 = "/fragment@0:target:0";
+ };
+ };
- int am335x_i2c_bus_register(
- const char *bus_path,
- uintptr_t register_base,
- uint32_t input_clock,
- rtems_vector_number irq
- );
+The above example registers a custom path `/dev/i2c-eeprom` for i2c0.
SPI Driver
----------