<div dir="ltr"><div>Thanks Christian,</div><div><br></div><div>That's much appreciated.</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 08:01, Christian Mauderer <<a href="mailto:oss@c-mauderer.de">oss@c-mauderer.de</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">Hello James,<br>
<br>
thanks for the patch and sorry that it get lost on the first submission.<br>
<br>
The patch compiles fine and it doesn't seem to change interfaces a lot. <br>
So I would say it is OK. I'll give it two or three more days of review <br>
before pushing it.<br>
<br>
Please remind me again in a week in case I forget to push it.<br>
<br>
Best regards<br>
<br>
Christian<br>
<br>
On 21/02/2021 10:29, 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>