diff --git a/proposals/suraj-sonawane.rst b/proposals/suraj-sonawane.rst index 4de18508b84fd5d5982e2d7b919bb3b8cba1f5ae..2c2611349c72d773645d026943fe32cd1b1be495 100644 --- a/proposals/suraj-sonawane.rst +++ b/proposals/suraj-sonawane.rst @@ -63,6 +63,13 @@ Overview - TISCI protocol is used to talk to the system software. +**Power and Clock Management** +Public APIs are provided to perform: + + - `Device Management <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/devices.html>'_: Enable and release a module + This configures both power and clock details for the module and keeps track of its usage. + - `Clock Management <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/clocks.html>'_: Control the frequency of the clock to a module. + Drivers needed to implement TI-SCI: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `Mailbox controller driver <https://software-dl.ti.com/processor-sdk-sitara/esd/am64x/latest/exports/docs/rtos/pdk_am64x/docs/apiguide/am64x/html/group__DRV__MAILBOX__MODULE.html>`_ @@ -171,23 +178,17 @@ West is “pluggableâ€: you can add your own commands to west without editing i 3. Make sure the west-commands.yml file is referenced in the west manifest. -Driver developement: ----------------------- -**1. Board Files:** -Board files are the primary descriptor of the hardware in Zephyr. - -**2. Device tree overlays:** -DeviceTree Overlays can be used by the Zephyr application to specify new hardware or re-assign existing hardware described elsewhere in the board files. - -**3. Devicetree bindings:** +`Driver Development: <https://docs.zephyrproject.org/latest/kernel/drivers/index.html>`_ +--------------------- +**1. Devicetree bindings:** A devicetree binding declares requirements on the contents of nodes, and provides semantic information about the contents of valid nodes. Zephyr devicetree bindings are YAML files in a custom format (Zephyr does not use the dt-schema tools used by the Linux kernel). -**4. API Definitions:** +**2. API Definitions:** Available under "include/drivers/". Provides a general way of unteracting with driver instances. Add basic support for Device Manager using TISCI: -------------------------------------------------- - - Device Manager enable and release a module. + - `Device Manager <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/devices.html>`_ enable and release a module. - This configures both **power and clock** details for the module and keeps track of its usage. - Add support driver to allow communication with system controller entity within the SoC using the mailbox client. - There are some existing APIs by using this API's we can add basic support for Device Manager using TISCI: @@ -237,9 +238,9 @@ Timeline summary +------------------------+----------------------------------------------------------------------------------------------------+ | March 28 - April 2 | Proposal review and Submission. | +------------------------+----------------------------------------------------------------------------------------------------+ - | April 3 - April 30 | Start working on studying the unmerged `PR's . <https://bit.ly/slpp95prashanth>`_. | + | April 3 - April 30 | Start working on studying the unmerged `PR's . <https://bit.ly/slpp95prashanth>`_ | | | Getting familiar with Hardware and looking deeper in Zephyr code base. Also looking into TI-SCI | - | | implementation idea. | + | | TI-SCI implementation idea. | +------------------------+----------------------------------------------------------------------------------------------------+ | May 1 - May 10 | Start bonding | +------------------------+----------------------------------------------------------------------------------------------------+ @@ -296,7 +297,7 @@ Milestone #1, Introductory YouTube video (June 3rd) Milestone #2 (June 10th) ========================== - Complete basic support for TI-SCI protocol. -- Start adding basic support for Device Manager using TI-SCI. +- Start adding basic support for `Device Manager <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/devices.html>`_ using TI-SCI. Milestone #3 (June 17th) ========================= @@ -345,12 +346,11 @@ Milestone #8 (July 29th) Milestone #9 (Aug 5th) ======================= - +- Add basic support for `Clock control <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/clocks.html>`_ using TI-SCI protocol. Milestone #10 (Aug 12th) ======================== -- Start upstreaming the developed features to Zephyr. -- Work on optimizing the performance of the support that has been added until now. +- Complete basic support for Clock control using TI-SCI protocol. Final YouTube video (Aug 19th) =============================== @@ -390,7 +390,7 @@ Experience and approch - Contributed to `Autonomous Vehicle <https://github.com/SurajSonawane2415/Autonomous-Vehicle>`_ project, utilizing embedded system, C++, and understanding sensor interfaces with I2C, SPI, ADC, UART protocols. -- I have been exploring Zephyr Driver Development and have gained sufficient knowledge to start the implementation. +- I have been exploring `Zephyr Driver Development <https://docs.zephyrproject.org/latest/kernel/drivers/index.html>`_ and have gained sufficient knowledge to start the implementation. - In all of the above projects, I designed many things from scratch and rapidly learned many things in embedded systems. Even though I faced many errors, I stayed committed and figured them out. I have relevant experience (C, RTOS) for this project, and as a passionate Open Source enthusiast, I will wholeheartedly work towards completing the project idea within the allotted time.