Landfall

Annotated conf/landfall-examples/mips-qi_lb60-fbdrv.cfg

129:152c4fc0a967
2021-01-16 Paul Boddie Added missing Makefiles.
paul@0 1
-- vim: ft=lua ts=2 et sw=2
paul@0 2
paul@0 3
-- Start the framebuffer driver with supporting devices.
paul@0 4
-- The target platform is the Ben NanoNote.
paul@0 5
paul@0 6
local L4 = require("L4");
paul@0 7
paul@0 8
local l = L4.default_loader;
paul@0 9
paul@0 10
-- Define general access to peripherals.
paul@0 11
paul@0 12
local io_buses = {
paul@0 13
    cpm   = l:new_channel();
paul@0 14
    gpio  = l:new_channel();
paul@0 15
    lcd   = l:new_channel();
paul@0 16
  };
paul@0 17
paul@0 18
l:start({
paul@0 19
  caps = {
paul@0 20
      cpm    = io_buses.cpm:svr(),
paul@0 21
      gpio   = io_buses.gpio:svr(),
paul@0 22
      lcd    = io_buses.lcd:svr(),
paul@0 23
paul@0 24
      icu    = L4.Env.icu,
paul@0 25
      sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0),
paul@0 26
    },
paul@0 27
  },
paul@7 28
  "rom/io rom/hw_devices.io rom/mips-qi_lb60-common.io");
paul@0 29
paul@0 30
-- Expose a SPI peripheral as a device.
paul@0 31
paul@0 32
local spi = l:new_channel();
paul@0 33
paul@0 34
l:startv({
paul@0 35
    caps = {
paul@0 36
      vbus = io_buses.gpio,
paul@0 37
      spi  = spi:svr(),
paul@0 38
    },
paul@0 39
  },
paul@0 40
  "rom/dev_spi_jz4740", "C23", "C22", "C21"); -- specifying clock, data, enable pin details
paul@0 41
paul@0 42
-- Expose a SPI backlight device for the Ben.
paul@0 43
paul@0 44
local backlight = l:new_channel(); -- exposes backlight device
paul@0 45
paul@0 46
l:start({
paul@0 47
    caps = {
paul@0 48
      spi       = spi,
paul@0 49
      backlight = backlight:svr(),
paul@0 50
    },
paul@0 51
  },
paul@19 52
  "rom/dev_backlight_spi_ili8960");
paul@0 53
paul@0 54
-- Expose a display device for the Ben.
paul@0 55
paul@0 56
local display = l:new_channel(); -- exposes display device
paul@0 57
paul@0 58
l:start({
paul@0 59
    caps = {
paul@0 60
      backlight = backlight,
paul@0 61
      display   = display:svr(),
paul@0 62
      vbus      = io_buses.gpio,
paul@0 63
    },
paul@0 64
  },
paul@0 65
  "rom/dev_display_qi_lb60");
paul@0 66
paul@0 67
-- Expose the CPM peripheral.
paul@0 68
paul@0 69
local cpm = l:new_channel();
paul@0 70
paul@0 71
l:start({
paul@0 72
  caps = {
paul@0 73
      vbus    = io_buses.cpm,
paul@0 74
      cpm     = cpm:svr(),
paul@0 75
    },
paul@0 76
  },
paul@0 77
  "rom/dev_cpm_jz4740");
paul@0 78
paul@0 79
-- Expose a framebuffer device.
paul@0 80
paul@0 81
local fbdrv_fb = l:new_channel();
paul@0 82
paul@0 83
l:start({
paul@0 84
    caps = {
paul@0 85
      vbus    = io_buses.lcd,
paul@0 86
      fb      = fbdrv_fb:svr(),
paul@0 87
      cpm     = cpm,
paul@0 88
      display = display, -- needed by LCD driver
paul@0 89
    },
paul@0 90
  },
paul@0 91
  "rom/fb-drv");