Changeset 75fe97b in mainline for uspace/drv/platform/icp/icp.c


Ignore:
Timestamp:
2014-09-03T10:52:10Z (10 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
95b2276
Parents:
b3222a3
Message:

IntegratorCP mouse support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/platform/icp/icp.c

    rb3222a3 r75fe97b  
    5151enum {
    5252        icp_kbd_base = 0x18000000,
    53         icp_kbd_irq = 3
     53        icp_kbd_irq = 3,
     54        icp_mouse_base = 0x19000000,
     55        icp_mouse_irq = 4
    5456};
    5557
     
    6971};
    7072
    71 static hw_resource_t icp_pl050_res[] = {
     73static hw_resource_t icp_kbd_res[] = {
    7274        {
    7375                .type = MEM_RANGE,
     
    8789};
    8890
     91static hw_resource_t icp_mouse_res[] = {
     92        {
     93                .type = MEM_RANGE,
     94                .res.mem_range = {
     95                        .address = icp_mouse_base,
     96                        .size = 9,
     97                        .relative = false,
     98                        .endianness = LITTLE_ENDIAN
     99                }
     100        },
     101        {
     102                .type = INTERRUPT,
     103                .res.interrupt = {
     104                        .irq = icp_mouse_irq
     105                }
     106        }
     107};
     108
    89109static pio_window_t icp_pio_window = {
    90110        .mem = {
     
    94114};
    95115
    96 static icp_fun_t icp_pl050_fun_proto = {
     116static icp_fun_t icp_kbd_fun_proto = {
    97117        .hw_resources = {
    98                 sizeof(icp_pl050_res) / sizeof(icp_pl050_res[0]),
    99                 icp_pl050_res
     118                sizeof(icp_kbd_res) / sizeof(icp_kbd_res[0]),
     119                icp_kbd_res
     120        },
     121};
     122
     123static icp_fun_t icp_mouse_fun_proto = {
     124        .hw_resources = {
     125                sizeof(icp_mouse_res) / sizeof(icp_mouse_res[0]),
     126                icp_mouse_res
    100127        },
    101128};
     
    188215static int icp_add_functions(ddf_dev_t *dev)
    189216{
    190         return icp_add_fun(dev, "pl050", "arm/pl050", &icp_pl050_fun_proto);
     217        int rc;
     218
     219        rc = icp_add_fun(dev, "kbd", "arm/pl050", &icp_kbd_fun_proto);
     220        if (rc != EOK)
     221                return rc;
     222
     223        rc = icp_add_fun(dev, "mouse", "arm/pl050", &icp_mouse_fun_proto);
     224        if (rc != EOK)
     225                return rc;
     226
     227        return EOK;
    191228}
    192229
Note: See TracChangeset for help on using the changeset viewer.