<div dir="ltr"><div>Hi Chris,</div><div><br></div><div>I've just submitted v4 with those licences updated. I hope I've done it correctly.</div><div><br></div><div>Cheers,</div><div>James<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 23 Feb 2021 at 10:23, Chris Johns <<a href="mailto:chrisj@rtems.org">chrisj@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi James,<br>
<br>
Thanks for the patch. It is close. Could I ask if all the source files from you<br>
please be updated to the latest template with the 2-clause BSD license? It will<br>
say us having to include them in the sweep when we get to that task. I see a mix<br>
in the files provided.<br>
<br>
Thanks<br>
Chris<br>
<br>
On 21/2/21 8:29 pm, James Fitzsimons wrote:<br>
> This patch adds driver support for the eQEP (enhanced Quadrature Encoder Pulse)<br>
> module within each of the PWMSS units in the AM335x. The eQEP module is used for<br>
> hardware decoding of rotrary encoders, motor encoders etc.<br>
> <br>
> Because the PWMSS module includes several components some of the existing code in<br>
> the pwm driver could be reused. To make this common I have added a pwmss.h header<br>
> and moved some of the pwmss specific defines and enum to this file. The pwmss.c<br>
> file contains a refactored (simplified) version of the clock configuration<br>
> method that was previously in the pwm.c file. The pwmss_module_clk_config will<br>
> now be shared by both the pwm and eqep drivers (and eventually the ecap driver if<br>
> that is ever added).<br>
> <br>
> The approach taken with the qep.h header was to move some of the qep specific<br>
> defines from the am335x.h header to this file. They are specific to the qep<br>
> function and would likely never be referenced by anything other than this driver.<br>
> Doing this keeps these definitions with the driver code and reduces clutter in<br>
> am335x.h header.<br>
> <br>
> The driver supports two primary modes of operation. A polled mode (which is the<br>
> default mode), and an interrupt event driven mode.<br>
> <br>
> This patch includes the following revisions after feedback from Chris Johns:<br>
>  - improved documentation<br>
>  - addition of void* user argument to interrupt callback<br>
>  - addition of position value arg to interrupt callback<br>
> <br>
> James Fitzsimons (1):<br>
>   Adding QEP driver support to BeagleBoneBlack BSP<br>
> <br>
>  bsps/arm/beagle/<a href="http://headers.am" rel="noreferrer" target="_blank">headers.am</a>              |   2 +<br>
>  bsps/arm/beagle/include/bsp/bbb-pwm.h   |  11 -<br>
>  bsps/arm/beagle/include/bsp/pwmss.h     |  54 +++<br>
>  bsps/arm/beagle/include/bsp/qep.h       | 382 ++++++++++++++++++++<br>
>  bsps/arm/beagle/pwm/pwm.c               |  60 +---<br>
>  bsps/arm/beagle/pwmss/pwmss.c           |  64 ++++<br>
>  bsps/arm/beagle/qep/qep.c               | 445 ++++++++++++++++++++++++<br>
>  c/src/lib/libbsp/arm/beagle/Makefile.am |   6 +<br>
>  spec/build/bsps/arm/beagle/obj.yml      |   5 +-<br>
>  9 files changed, 959 insertions(+), 70 deletions(-)<br>
>  create mode 100644 bsps/arm/beagle/include/bsp/pwmss.h<br>
>  create mode 100644 bsps/arm/beagle/include/bsp/qep.h<br>
>  create mode 100644 bsps/arm/beagle/pwmss/pwmss.c<br>
>  create mode 100644 bsps/arm/beagle/qep/qep.c<br>
> <br>
</blockquote></div>