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