On 09/06/2019 15:58, Vijay Kumar Banerjee wrote: > --- > user/bsps/bsps-arm.rst | 68 +++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 67 insertions(+), 1 deletion(-) > > diff --git a/user/bsps/bsps-arm.rst b/user/bsps/bsps-arm.rst > index eb972c6..290a6fc 100644 > --- a/user/bsps/bsps-arm.rst > +++ b/user/bsps/bsps-arm.rst > @@ -93,7 +93,73 @@ TODO. > beagle > ====== > > -TODO. > +This BSP supports four variants, `beagleboardorig`, `beagleboardxm`, > `beaglebonewhite` > +and `beagleboneblack`. The basic hardware initialization is not performed by > +the BSP. A boot loader with device tree support must be used to start the > BSP, > +e.g. U-Boot. > + > +TODO(These drivers are present but not documented yet): > +* Clock driver. > +* Network Interface Driver. > +* SDcard driver. > +* GPIO Driver. > +* Console driver. > +* PWM Driver. > +* RTC driver. > + > +Boot via U-Boot > +--------------- > +To boot via uboot, the ELF must be converted to a U-Boot image like below: > + > +.. code-block:: none > + arm-rtems5-objcopy hello.exe -O app.bin > + gzip 9 app.bin > + mkimage -A arm -O linux -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS > -d app.bin.gz rtems-app.img > + > +Getting the Device Tree Blob > +---------------------------- > + > +The Device Tree Blob(dtb) is needed to load the device tree while starting up > +the kernel. Currently the dtb is built using the linux `device-tree-rebasing > +<https://github.com/RobertCNelson/device-tree-rebasing>`_ > +repository.
I think that one is a fork maintained by only one person. Maybe a hint to the Linux tree or some better maintained repo would be better. For example I found a devicetree-rebasing repo on the official kernel.org page which looks quite up to date: https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git/tree/ > + > +Writing the uEnv.txt file > +------------------------- > + > +The uEnv.txt file is needed to set any environment variable before the > kernel is > +loaded. Each line is a u-boot command that the uboot will execute during > +starting up. > + > +Add the following to a file named uEnv.txt: > + > +.. code-block:: none > + setenv bootdelay 5 > + uenvcmd=run boot > + boot=fatload mmc 0 0x80800000 rtems-app.img ; fatload mmc 0 0x88000000 > am335x-boneblack.dtb ; bootm 0x80800000 - 0x88000000 > + > +I2C Driver > +---------- > + > +This BSP uses the I2C framework and is registered using > +``am335x_i2c_bus_register()`` the function prototype is given below: > + > +.. code-block:: C > + int am335x_i2c_bus_register( > + const char *bus_path, > + uintptr_t register_base, > + uint32_t input_clock, > + rtems_vector_number irq > + ); > + > +This function is needed only while registering with custom path with custom > +values. For registering the `i2c-0`, a wrapper function is provided, > +``bbb_register_i2c_0()`` and this will be used generally. There are also bbb_register_i2c_1 and ..._2. > + > +SPI Driver > +---------- > + > +The SPI device `/dev/spi-0` can be registered with ``bbb_register_spi_0()``` > > csb336 > ====== > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel