xref: /qemu/include/hw/misc/imx8mp_ccm.h (revision 09951f5a27a7f8633118c1808cf17e66b30c3c62)
1*86c2dff9SBernhard Beschow /*
2*86c2dff9SBernhard Beschow  * Copyright (c) 2025 Bernhard Beschow <shentey@gmail.com>
3*86c2dff9SBernhard Beschow  *
4*86c2dff9SBernhard Beschow  * i.MX 8M Plus CCM IP block emulation code
5*86c2dff9SBernhard Beschow  *
6*86c2dff9SBernhard Beschow  * SPDX-License-Identifier: GPL-2.0-or-later
7*86c2dff9SBernhard Beschow  */
8*86c2dff9SBernhard Beschow 
9*86c2dff9SBernhard Beschow #ifndef IMX8MP_CCM_H
10*86c2dff9SBernhard Beschow #define IMX8MP_CCM_H
11*86c2dff9SBernhard Beschow 
12*86c2dff9SBernhard Beschow #include "hw/misc/imx_ccm.h"
13*86c2dff9SBernhard Beschow #include "qom/object.h"
14*86c2dff9SBernhard Beschow 
15*86c2dff9SBernhard Beschow enum IMX8MPCCMRegisters {
16*86c2dff9SBernhard Beschow     CCM_MAX = 0xc6fc / sizeof(uint32_t) + 1,
17*86c2dff9SBernhard Beschow };
18*86c2dff9SBernhard Beschow 
19*86c2dff9SBernhard Beschow #define TYPE_IMX8MP_CCM "imx8mp.ccm"
20*86c2dff9SBernhard Beschow OBJECT_DECLARE_SIMPLE_TYPE(IMX8MPCCMState, IMX8MP_CCM)
21*86c2dff9SBernhard Beschow 
22*86c2dff9SBernhard Beschow struct IMX8MPCCMState {
23*86c2dff9SBernhard Beschow     IMXCCMState parent_obj;
24*86c2dff9SBernhard Beschow 
25*86c2dff9SBernhard Beschow     MemoryRegion iomem;
26*86c2dff9SBernhard Beschow 
27*86c2dff9SBernhard Beschow     uint32_t ccm[CCM_MAX];
28*86c2dff9SBernhard Beschow };
29*86c2dff9SBernhard Beschow 
30*86c2dff9SBernhard Beschow #endif /* IMX8MP_CCM_H */
31