[IPU] - Framebuffer Driver on the i.MX53 QSB

Stefan Kalkowski stefan.kalkowski at ...1...
Tue May 31 13:59:48 CEST 2016



On 05/31/2016 12:37 PM, Tiago Brito wrote:
>> Hello Tiago,
> 
> Hi Stefan, thanks for your response.
> 
> On 05/27/2016 04:59 PM, Tiago Brito wrote:
>>> Hi, I want to build a system based on the TZ_VMM example where a user
> space
>>> Linux application can trigger a SMC. This SMC will tell the secure
> world to
>>> display an image (and then return to the normal world after some time or
>>> after the user explicitly triggers another world switch).
>>>
>>> For now I want to start by using Linux on the Normal World, but I want
> to
>>> eventually run Android in the Normal World.
>>>
>>> The question which made me come to the mailing list is the following: in
>>> your article regarding TrustZone [1], section "Additional device
> drivers",
>>> you write that in order to run Android at almost-native performance in
> the
>>> normal world you used hardware overlays and that you invested
> significant
>>> development time into enabling this feature on the QSB.
>>>
>>> Does this mean you have a working framebuffer driver for the i.MX53 QSB
> as
>>> well as a working example on how to use hardware overlays on this
> platform?
>>>
>>> If so I would like to know where can I get the mentioned framebuffer
> driver
>>> as well as the hardware overlay example.
>>
>> The framebuffer driver is part of the Genode OS framework and can be
>> found at repos/os/src/drivers/framebuffer/spec/imx53/*
>>
>> It is automatically build when compiling drivers/framebuffer for the
>> corresponding build target, e.g., hw_imx53_qsb. Be aware of the fact
>> that it currently hardcodes to use the tablet's touchscreen display when
>> using the SABRE tablet, and to use the LCD board extension when using
>> i.MX53 QSB. It won't work with VGA connected to the i.MX53 QSB in the
>> current state.
> 
> What changes am I expected to do in order to make the framebuffer driver
> work with the VGA connected to the i.MX53 QSB?
> 

Well, I do not know otherwise it would be available as an option within
the driver already. You might study the quite voluminous documentation
of the IPU of Freescale, or trace I/O register accesses of a working
example, e.g., from the Linux kernel, or you combine both techniques.

> What I want to do with this is to have a simple command line application
> running on linux (Normal World).
> I want to keep the interaction between user and Linux as is (serial
> connection - tz_vmm example).
> This application calls some kernel module function which in turn triggers
> an SMC.
> Then the secure world (tz_vmm) detects the SMC from the application and
> displays an image to the user (for now it could just fill the screen with
> some color).
> 
>> Moreover, the mentioned overlay mechanism although also present in the
>> driver is only tested using the SABRE tablet settings.
> 
> In the past I have adapted an On-board Diagnostics Suite from Freescale to
> display images using my bare metal program.
> I stripped the OBDS down to the standalone IPU and I sent the bits to the
> configured MMIO for the framebuffer.
> This wasn't that hard to do, but it's not really flexible. I had no user
> interface, just plain BITMAP imagens which were displayed for some time.
> 
> I'm wondering if it's easier to modify your framebuffer driver in order to
> support VGA (which would be a much flexible solution since I could then use
> other components from Genode, like nitpicker - right?) or should I just try
> to adapt the OBDS code to work inside Genode?

I really cannot answer that for you. I can only say that I had some
longstanding debug sessions when enabling the IPU together with the
SABRE tablet's display and the overlay mechanism. But maybe its less
complicated just to enable the VGA connector. And yes you are right that
you can use other Genode components then as well.

Regards
Stefan

> 
>> Regards
>> Stefan
> 
> Thanks again!!
> 
> Best Regards, Tiago
> 
> 
> 
> 2016-05-31 10:44 GMT+01:00 Stefan Kalkowski <
> stefan.kalkowski at ...1...>:
> 
>> Hello Tiago,
>>
>> On 05/27/2016 04:59 PM, Tiago Brito wrote:
>>> Hi, I want to build a system based on the TZ_VMM example where a user
>> space
>>> Linux application can trigger a SMC. This SMC will tell the secure world
>> to
>>> display an image (and then return to the normal world after some time or
>>> after the user explicitly triggers another world switch).
>>>
>>> For now I want to start by using Linux on the Normal World, but I want to
>>> eventually run Android in the Normal World.
>>>
>>> The question which made me come to the mailing list is the following: in
>>> your article regarding TrustZone [1], section "Additional device
>> drivers",
>>> you write that in order to run Android at almost-native performance in
>> the
>>> normal world you used hardware overlays and that you invested significant
>>> development time into enabling this feature on the QSB.
>>>
>>> Does this mean you have a working framebuffer driver for the i.MX53 QSB
>> as
>>> well as a working example on how to use hardware overlays on this
>> platform?
>>>
>>> If so I would like to know where can I get the mentioned framebuffer
>> driver
>>> as well as the hardware overlay example.
>>
>> The framebuffer driver is part of the Genode OS framework and can be
>> found at repos/os/src/drivers/framebuffer/spec/imx53/*
>>
>> It is automatically build when compiling drivers/framebuffer for the
>> corresponding build target, e.g., hw_imx53_qsb. Be aware of the fact
>> that it currently hardcodes to use the tablet's touchscreen display when
>> using the SABRE tablet, and to use the LCD board extension when using
>> i.MX53 QSB. It won't work with VGA connected to the i.MX53 QSB in the
>> current state.
>> Moreover, the mentioned overlay mechanism although also present in the
>> driver is only tested using the SABRE tablet settings.
>>
>> Regards
>> Stefan
>>
>>>
>>> Thanks, Tiago
>>>
>>> [1] - An Exploration of ARM TrustZone Technology (
>>> http://genode.org/documentation/articles/trustzone)
>>>
>>>
>>>
>>>
>> ------------------------------------------------------------------------------
>>> What NetFlow Analyzer can do for you? Monitors network bandwidth and
>> traffic
>>> patterns at an interface-level. Reveals which users, apps, and protocols
>> are
>>> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
>>> J-Flow, sFlow and other flows. Make informed decisions using capacity
>>> planning reports.
>> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>>>
>>>
>>>
>>> _______________________________________________
>>> genode-main mailing list
>>> genode-main at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>>
>>
>> --
>> Stefan Kalkowski
>> Genode Labs
>>
>> http://www.genode-labs.com/ · http://genode.org/
>>
>>
>> ------------------------------------------------------------------------------
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and
>> traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols
>> are
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
>> J-Flow, sFlow and other flows. Make informed decisions using capacity
>> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>> _______________________________________________
>> genode-main mailing list
>> genode-main at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
> 
> 
> 
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are 
> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
> J-Flow, sFlow and other flows. Make informed decisions using capacity 
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ · http://genode.org/




More information about the users mailing list