~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to hw/arm/stellaris.c

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#include "exec/address-spaces.h"
22
22
#include "sysemu/sysemu.h"
23
23
#include "hw/char/pl011.h"
 
24
#include "hw/misc/unimp.h"
24
25
 
25
26
#define GPIO_A 0
26
27
#define GPIO_B 1
1220
1221
        0x40024000, 0x40025000, 0x40026000};
1221
1222
    static const int gpio_irq[7] = {0, 1, 2, 3, 4, 30, 31};
1222
1223
 
 
1224
    /* Memory map of SoC devices, from
 
1225
     * Stellaris LM3S6965 Microcontroller Data Sheet (rev I)
 
1226
     * http://www.ti.com/lit/ds/symlink/lm3s6965.pdf
 
1227
     *
 
1228
     * 40000000 wdtimer (unimplemented)
 
1229
     * 40002000 i2c (unimplemented)
 
1230
     * 40004000 GPIO
 
1231
     * 40005000 GPIO
 
1232
     * 40006000 GPIO
 
1233
     * 40007000 GPIO
 
1234
     * 40008000 SSI
 
1235
     * 4000c000 UART
 
1236
     * 4000d000 UART
 
1237
     * 4000e000 UART
 
1238
     * 40020000 i2c
 
1239
     * 40021000 i2c (unimplemented)
 
1240
     * 40024000 GPIO
 
1241
     * 40025000 GPIO
 
1242
     * 40026000 GPIO
 
1243
     * 40028000 PWM (unimplemented)
 
1244
     * 4002c000 QEI (unimplemented)
 
1245
     * 4002d000 QEI (unimplemented)
 
1246
     * 40030000 gptimer
 
1247
     * 40031000 gptimer
 
1248
     * 40032000 gptimer
 
1249
     * 40033000 gptimer
 
1250
     * 40038000 ADC
 
1251
     * 4003c000 analogue comparator (unimplemented)
 
1252
     * 40048000 ethernet
 
1253
     * 400fc000 hibernation module (unimplemented)
 
1254
     * 400fd000 flash memory control (unimplemented)
 
1255
     * 400fe000 system control
 
1256
     */
 
1257
 
1223
1258
    DeviceState *gpio_dev[7], *nvic;
1224
1259
    qemu_irq gpio_in[7][8];
1225
1260
    qemu_irq gpio_out[7][8];
1370
1405
            }
1371
1406
        }
1372
1407
    }
 
1408
 
 
1409
    /* Add dummy regions for the devices we don't implement yet,
 
1410
     * so guest accesses don't cause unlogged crashes.
 
1411
     */
 
1412
    create_unimplemented_device("wdtimer", 0x40000000, 0x1000);
 
1413
    create_unimplemented_device("i2c-0", 0x40002000, 0x1000);
 
1414
    create_unimplemented_device("i2c-2", 0x40021000, 0x1000);
 
1415
    create_unimplemented_device("PWM", 0x40028000, 0x1000);
 
1416
    create_unimplemented_device("QEI-0", 0x4002c000, 0x1000);
 
1417
    create_unimplemented_device("QEI-1", 0x4002d000, 0x1000);
 
1418
    create_unimplemented_device("analogue-comparator", 0x4003c000, 0x1000);
 
1419
    create_unimplemented_device("hibernation", 0x400fc000, 0x1000);
 
1420
    create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
1373
1421
}
1374
1422
 
1375
1423
/* FIXME: Figure out how to generate these from stellaris_boards.  */