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:
Stefan Kalkowski 2013-10-09 11:31:11 +02:00 committed by Christian Helmuth
parent ebbd721278
commit 81e69dc8da
4 changed files with 15 additions and 1 deletions

View File

@ -26,6 +26,7 @@ namespace Platform {
I2C_2,
I2C_3,
BUTTONS,
PWM,
};
enum Board_revision {

View File

@ -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:

View File

@ -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);

View File

@ -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");
};