[PATCH 2/6] TDA19988 : Port to RTEMS
Christian Mauderer
list at c-mauderer.de
Sun Jun 30 16:29:38 UTC 2019
On 30/06/2019 18:24, Vijay Kumar Banerjee wrote:
>
>
> On Sun, Jun 30, 2019 at 9:18 PM Christian Mauderer <list at c-mauderer.de
> <mailto:list at c-mauderer.de>> wrote:
>
> On 30/06/2019 17:29, Vijay Kumar Banerjee wrote:
> > ---
> > Makefile.todo | 27 ++++++
> > buildset/default.ini | 1 +
> > libbsd.py | 46 ++++++++++
> > rtemsbsd/include/bsp/nexus-devices.h | 1 +
> > .../machine/rtems-bsd-kernel-namespace.h | 65 +++++++++++++
> > rtemsbsd/include/rtems/bsd/local/clknode_if.h | 92
> +++++++++++++++++++
> > rtemsbsd/include/rtems/bsd/local/hdmi_if.h | 71 ++++++++++++++
> > .../include/rtems/bsd/local/opt_videomode.h | 0
> > rtemsbsd/local/clknode_if.c | 40 ++++++++
> > rtemsbsd/local/hdmi_if.c | 35 +++++++
> > 10 files changed, 378 insertions(+)
> > create mode 100644 rtemsbsd/include/rtems/bsd/local/clknode_if.h
> > create mode 100644 rtemsbsd/include/rtems/bsd/local/hdmi_if.h
> > create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_videomode.h
> > create mode 100644 rtemsbsd/local/clknode_if.c
> > create mode 100644 rtemsbsd/local/hdmi_if.c
> >
> > diff --git a/Makefile.todo b/Makefile.todo
> > index 42bedc15..358d6956 100644
> > --- a/Makefile.todo
> > +++ b/Makefile.todo
> > @@ -47,6 +47,10 @@ GENERATED += $(LOCAL_INC)/gpiobus_if.h
> > GENERATED += $(LOCAL_SRC)/gpiobus_if.c
> > GENERATED += $(LOCAL_INC)/iicbus_if.h
> > GENERATED += $(LOCAL_SRC)/iicbus_if.c
> > +GENERATED += $(LOCAL_INC)/clknode_if.h
> > +GENERATED += $(LOCAL_SRC)/clknode_if.c
> > +GENERATED += $(LOCAL_INC)/hdmi_if.h
> > +GENERATED += $(LOCAL_SRC)/hdmi_if.c
> > GENERATED += rtemsbsd/include/machine/rtems-bsd-regdomain.h
> > GENERATED += rtemsbsd/rtems/rtems-bsd-regdomain.c
> >
> > @@ -239,6 +243,29 @@ $(LOCAL_SRC)/sdhci_if.c:
> $(FREEBSD_SRC)/sys/dev/sdhci/sdhci_if.m
> > -e 's|#include "sdhci_if.h"|#include
> <rtems/bsd/local/sdhci_if.h>|'
> > mv sdhci_if.c $@
> >
> > +
> > +$(LOCAL_INC)/clknode_if.h:
> $(FREEBSD_SRC)/sys/dev/extres/clk/clknode_if.m
> > + awk -f $(TOOLS)/makeobjops.awk $< -h
> > + mv clknode_if.h $@
> > +
> > +$(LOCAL_SRC)/clknode_if.c:
> $(FREEBSD_SRC)/sys/dev/extres/clk/clknode_if.m
> > + awk -f $(TOOLS)/makeobjops.awk $< -c
> > + sed -i clknode_if.c \
> > + -e '1 i\#include <machine/rtems-bsd-kernel-space.h>\n' \
> > + -e 's|#include "clknode_if.h"|#include
> <rtems/bsd/local/clknode_if.h>|'
> > + mv clknode_if.c $@
> > +
> > +$(LOCAL_INC)/hdmi_if.h: $(FREEBSD_SRC)/sys/dev/hdmi/hdmi_if.m
> > + awk -f $(TOOLS)/makeobjops.awk $< -h
> > + mv hdmi_if.h $@
> > +
> > +$(LOCAL_SRC)/hdmi_if.c: $(FREEBSD_SRC)/sys/dev/hdmi/hdmi_if.m
> > + awk -f $(TOOLS)/makeobjops.awk $< -c
> > + sed -i hdmi_if.c \
> > + -e '1 i\#include <machine/rtems-bsd-kernel-space.h>\n' \
> > + -e 's|#include "hdmi_if.h"|#include
> <rtems/bsd/local/hdmi_if.h>|'
> > + mv hdmi_if.c $@
> > +
> > $(LOCAL_SRC)/gpio_if.c: $(FREEBSD_SRC)/sys/dev/gpio/gpio_if.m
> > awk -f $(TOOLS)/makeobjops.awk $< -c
> > mv gpio_if.c $@
> > diff --git a/buildset/default.ini b/buildset/default.ini
> > index 4acb2368..1d052a48 100644
> > --- a/buildset/default.ini
> > +++ b/buildset/default.ini
> > @@ -37,6 +37,7 @@ dev_usb_storage = on
> > dev_usb_wlan = off
> > dev_wlan_rtwn = off
> > iic = on
> > +display = on
> > dhcpcd = on
> > dpaa = on
> > evdev = on
> > diff --git a/libbsd.py b/libbsd.py
> > index 12d4c2ed..b21ddccf 100644
> > --- a/libbsd.py
> > +++ b/libbsd.py
> > @@ -777,6 +777,51 @@ class iic(builder.Module):
> > mm.generator['source']()
> > )
> >
> > +
> > +#
> > +# DISPLAY
> > +#
> > +class display(builder.Module):
> > +
> > + def __init__(self, manager):
> > + super(display, self).__init__(manager, type(self).__name__)
> > +
> > + def generate(self):
> > + mm = self.manager
> > + self.addKernelSpaceHeaderFiles(
> > + [
> > + 'sys/dev/extres/clk/clk.h',
> > + 'sys/dev/hdmi/dwc_hdmi.h',
> > + 'sys/dev/hdmi/dwc_hdmireg.h',
> > + 'sys/dev/videomode/videomode.h',
> > + 'sys/dev/videomode/edidvar.h',
> > + 'sys/dev/videomode/edidreg.h',
> > + 'sys/dev/videomode/ediddevs.h',
> > + 'sys/dev/videomode/ediddevs_data.h',
> > + 'sys/dev/videomode/vesagtf.h',
> > + ]
> > + )
> > + self.addKernelSpaceSourceFiles(
> > + [
> > + 'sys/arm/ti/am335x/tda19988.c',
> > + 'sys/dev/hdmi/dwc_hdmi.c',
> > + 'sys/dev/hdmi/dwc_hdmi_fdt.c',
> > + 'sys/dev/extres/clk/clk.c',
>
> The clk.c looks like some framework for handling clocks. I would expect
> that you either need some beagle bone specific clock driver too or don't
> need the support at all. Where is it used?
>
> How does it interact with the clock initializations done in the BSP? Can
> a resource conflict happen there?
>
> I have included the clk.c file as some macros from clk.h is used
> in dwc_hdmi_fdt.c
> I have just tried removing it and it doesn't cause any undefined symbol
> reference,
> I think I'm lucky here if it can simply be removed in v2 of the patch.
>
> [...]
>
OK. Great. But don't hurry with v2. I don't think that the patches will
be merged before before anything is drawn to the screen. Although your
current version is a good progress in your project, a framebuffer
without read, write or mmap isn't really useful yet. So I would prefer
merging them together with later patch sets.
Best regards
Christian
More information about the devel
mailing list