xref: /qemu/include/hw/tricore/triboard.h (revision fc524567087c2537b5103cdfc1d41e4f442892b6)
134602f99SAndreas Konopik /*
234602f99SAndreas Konopik  * Infineon TriBoard System emulation.
334602f99SAndreas Konopik  *
434602f99SAndreas Konopik  * Copyright (c) 2020 Andreas Konopik <andreas.konopik@efs-auto.de>
534602f99SAndreas Konopik  * Copyright (c) 2020 David Brenken <david.brenken@efs-auto.de>
634602f99SAndreas Konopik  *
734602f99SAndreas Konopik  * This library is free software; you can redistribute it and/or
834602f99SAndreas Konopik  * modify it under the terms of the GNU Lesser General Public
934602f99SAndreas Konopik  * License as published by the Free Software Foundation; either
1034602f99SAndreas Konopik  * version 2 of the License, or (at your option) any later version.
1134602f99SAndreas Konopik  *
1234602f99SAndreas Konopik  * This library is distributed in the hope that it will be useful,
1334602f99SAndreas Konopik  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1434602f99SAndreas Konopik  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1534602f99SAndreas Konopik  * Lesser General Public License for more details.
1634602f99SAndreas Konopik  *
1734602f99SAndreas Konopik  * You should have received a copy of the GNU Lesser General Public
1834602f99SAndreas Konopik  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
1934602f99SAndreas Konopik  */
2034602f99SAndreas Konopik 
2134602f99SAndreas Konopik #include "qapi/error.h"
2234602f99SAndreas Konopik #include "hw/boards.h"
2332cad1ffSPhilippe Mathieu-Daudé #include "system/system.h"
24*dfc56946SRichard Henderson #include "system/address-spaces.h"
2534602f99SAndreas Konopik #include "qom/object.h"
2634602f99SAndreas Konopik 
2734602f99SAndreas Konopik #include "hw/tricore/tc27x_soc.h"
2834602f99SAndreas Konopik 
2934602f99SAndreas Konopik #define TYPE_TRIBOARD_MACHINE MACHINE_TYPE_NAME("triboard")
3034602f99SAndreas Konopik typedef struct TriBoardMachineState TriBoardMachineState;
3134602f99SAndreas Konopik typedef struct TriBoardMachineClass TriBoardMachineClass;
3234602f99SAndreas Konopik DECLARE_OBJ_CHECKERS(TriBoardMachineState, TriBoardMachineClass,
3334602f99SAndreas Konopik                      TRIBOARD_MACHINE, TYPE_TRIBOARD_MACHINE)
3434602f99SAndreas Konopik 
3534602f99SAndreas Konopik 
3634602f99SAndreas Konopik struct TriBoardMachineState {
3734602f99SAndreas Konopik     MachineState parent;
3834602f99SAndreas Konopik 
3934602f99SAndreas Konopik     TC27XSoCState tc27x_soc;
4034602f99SAndreas Konopik };
4134602f99SAndreas Konopik 
4234602f99SAndreas Konopik struct TriBoardMachineClass {
4334602f99SAndreas Konopik     MachineClass parent_obj;
4434602f99SAndreas Konopik 
4534602f99SAndreas Konopik     const char *name;
4634602f99SAndreas Konopik     const char *desc;
4734602f99SAndreas Konopik     const char *soc_name;
4834602f99SAndreas Konopik };
49