1.1 --- a/conf/landfall-examples/mips-letux400-keypad-driver.cfg Fri May 18 17:19:28 2018 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,145 +0,0 @@
1.4 --- vim: ft=lua ts=2 et sw=2
1.5 -
1.6 --- Start Mag to multiplex the framebuffer showing only a single program.
1.7 --- This example shows the key values produced by the keypad input driver.
1.8 --- The target platform is the Letux 400 notebook computer.
1.9 -
1.10 -local L4 = require("L4");
1.11 -
1.12 -local l = L4.default_loader;
1.13 -
1.14 --- Define general access to peripherals.
1.15 -
1.16 -local io_buses = {
1.17 - cpm = l:new_channel();
1.18 - gpio = l:new_channel();
1.19 - lcd = l:new_channel();
1.20 - pwm = l:new_channel(); -- exposes GPIO, PWM
1.21 - };
1.22 -
1.23 -l:start({
1.24 - caps = {
1.25 - cpm = io_buses.cpm:svr(),
1.26 - gpio = io_buses.gpio:svr(),
1.27 - lcd = io_buses.lcd:svr(),
1.28 - pwm = io_buses.pwm:svr(),
1.29 -
1.30 - icu = L4.Env.icu,
1.31 - sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0),
1.32 - },
1.33 - },
1.34 - "rom/io rom/hw_devices.io rom/mips-letux400-keypad-driver.io");
1.35 -
1.36 --- Expose a PWM peripheral as a device.
1.37 -
1.38 -local pwm = l:new_channel();
1.39 -
1.40 -l:startv({
1.41 - caps = {
1.42 - vbus = io_buses.pwm,
1.43 - pwm = pwm:svr(),
1.44 - },
1.45 - },
1.46 - "rom/dev_pwm_jz4730", "0", "250", "299", "47"); -- specifying peripheral number, parameters
1.47 -
1.48 --- Expose a PWM backlight device.
1.49 -
1.50 -local backlight = l:new_channel(); -- exposes backlight device
1.51 -
1.52 -l:startv({
1.53 - caps = {
1.54 - pwm = pwm,
1.55 - backlight = backlight:svr(),
1.56 - },
1.57 - },
1.58 - "rom/dev_backlight_pwm", "0", "300"); -- specifying limits
1.59 -
1.60 --- Expose a display device for the Letux.
1.61 -
1.62 -local display = l:new_channel(); -- exposes display device
1.63 -
1.64 -l:start({
1.65 - caps = {
1.66 - backlight = backlight,
1.67 - display = display:svr(),
1.68 - vbus = io_buses.gpio,
1.69 - },
1.70 - },
1.71 - "rom/dev_display_letux400");
1.72 -
1.73 --- Expose a panel definition for the Letux.
1.74 -
1.75 -local panel = l:new_channel(); -- exposes panel
1.76 -
1.77 -l:start({
1.78 - caps = {
1.79 - panel = panel:svr(),
1.80 - },
1.81 - },
1.82 - "rom/dev_panel_letux400");
1.83 -
1.84 --- Expose the CPM peripheral.
1.85 -
1.86 -local cpm = l:new_channel();
1.87 -
1.88 -l:start({
1.89 - caps = {
1.90 - vbus = io_buses.cpm,
1.91 - cpm = cpm:svr(),
1.92 - },
1.93 - },
1.94 - "rom/dev_cpm_jz4730");
1.95 -
1.96 --- Expose a framebuffer device.
1.97 -
1.98 -local fbdrv_fb = l:new_channel();
1.99 -
1.100 -l:start({
1.101 - caps = {
1.102 - vbus = io_buses.lcd,
1.103 - fb = fbdrv_fb:svr(),
1.104 - cpm = cpm,
1.105 - display = display, -- needed by LCD driver
1.106 - panel = panel,
1.107 - },
1.108 - },
1.109 - "rom/fb-drv");
1.110 -
1.111 --- Multiplex the framebuffer.
1.112 -
1.113 -local mag_caps = {
1.114 - mag = l:new_channel(),
1.115 - svc = l:new_channel(),
1.116 - };
1.117 -
1.118 -l:start({
1.119 - caps = {
1.120 - vbus = io_buses.gpio, -- needed by input driver
1.121 - fb = fbdrv_fb,
1.122 - mag = mag_caps.mag:svr(),
1.123 - svc = mag_caps.svc:svr(),
1.124 - },
1.125 - },
1.126 - "rom/mag");
1.127 -
1.128 --- Expose the keypad matrix.
1.129 -
1.130 -local keypad = l:new_channel();
1.131 -
1.132 -l:start({
1.133 - caps = {
1.134 - vbus = io_buses.gpio,
1.135 - keypad = keypad:svr(),
1.136 - },
1.137 - },
1.138 - "rom/dev_keypad_letux400");
1.139 -
1.140 --- Show key event values.
1.141 -
1.142 -l:start({
1.143 - caps = {
1.144 - fb = mag_caps.svc:create(L4.Proto.Goos, "g=800x460+0+0", "barheight=20"),
1.145 - keypad = keypad,
1.146 - },
1.147 - },
1.148 - "rom/ex_letux400_keypad_driver");