mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 02:01:38 +00:00
i.MX53 tablet: complete IOMUX routes for display
For the framebuffer driver of the i.MX53 platform to work even when u-boot didn't prepared the display previously, there were some IOMUX routes missing. Fixes #914
This commit is contained in:
parent
ebbd721278
commit
81e69dc8da
@ -26,6 +26,7 @@ namespace Platform {
|
||||
I2C_2,
|
||||
I2C_3,
|
||||
BUTTONS,
|
||||
PWM,
|
||||
};
|
||||
|
||||
enum Board_revision {
|
||||
|
@ -83,6 +83,7 @@ class Framebuffer::Driver
|
||||
case Platform::Session::SMD:
|
||||
_ipu.init(_width, _height, _width * BYTES_PER_PIXEL,
|
||||
phys_base, false);
|
||||
_platform.enable(Platform::Session::PWM);
|
||||
_pwm.enable_display();
|
||||
break;
|
||||
default:
|
||||
|
@ -61,7 +61,8 @@ class Iomux : public Genode::Attached_io_mem_dataspace,
|
||||
Iomux()
|
||||
: Genode::Attached_io_mem_dataspace(Genode::Board_base::IOMUXC_BASE,
|
||||
Genode::Board_base::IOMUXC_SIZE),
|
||||
Genode::Mmio((Genode::addr_t)local_addr<void>()) { }
|
||||
Genode::Mmio((Genode::addr_t)local_addr<void>()) {
|
||||
}
|
||||
|
||||
void i2c_2_enable()
|
||||
{
|
||||
@ -91,6 +92,14 @@ class Iomux : public Genode::Attached_io_mem_dataspace,
|
||||
write<Gpr2::Ch1_mode>(Gpr2::Ch1_mode::ROUTED_TO_DI1);
|
||||
}
|
||||
|
||||
void pwm_enable()
|
||||
{
|
||||
write<Eim_a24>(1);
|
||||
write<Sw_pad_ctl_pad_eim_a24>(0);
|
||||
write<Sw_mux_ctl_pad_gpio<1> >(0x4);
|
||||
write<Sw_pad_ctl_pad_gpio<1> >(0x0);
|
||||
}
|
||||
|
||||
void buttons_enable()
|
||||
{
|
||||
write<Eim_a24>(1);
|
||||
|
@ -71,6 +71,9 @@ class Platform::Session_component : public Genode::Rpc_object<Platform::Session>
|
||||
case Session::BUTTONS:
|
||||
_iomux.buttons_enable();
|
||||
break;
|
||||
case Session::PWM:
|
||||
_iomux.pwm_enable();
|
||||
break;
|
||||
default:
|
||||
PWRN("Invalid device");
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user