Lines Matching full:adsp

26 #include "../mtk-adsp-common.h"
51 struct mtk_adsp_chip_info *adsp = data; in platform_parse_resource() local
73 adsp->pa_dram = (phys_addr_t)res.start; in platform_parse_resource()
74 if (adsp->pa_dram & DRAM_REMAP_MASK) { in platform_parse_resource()
75 dev_err(dev, "adsp memory(%#x) is not 4K-aligned\n", in platform_parse_resource()
76 (u32)adsp->pa_dram); in platform_parse_resource()
80 adsp->dramsize = resource_size(&res); in platform_parse_resource()
81 if (adsp->dramsize < TOTAL_SIZE_SHARED_DRAM_FROM_TAIL) { in platform_parse_resource()
82 dev_err(dev, "adsp memory(%#x) is not enough for share\n", in platform_parse_resource()
83 adsp->dramsize); in platform_parse_resource()
87 dev_dbg(dev, "dram pbase=%pa size=%#x\n", &adsp->pa_dram, adsp->dramsize); in platform_parse_resource()
91 dev_err(dev, "no ADSP-CFG register resource\n"); in platform_parse_resource()
95 adsp->va_cfgreg = devm_ioremap_resource(dev, mmio); in platform_parse_resource()
96 if (IS_ERR(adsp->va_cfgreg)) in platform_parse_resource()
97 return PTR_ERR(adsp->va_cfgreg); in platform_parse_resource()
99 adsp->pa_cfgreg = (phys_addr_t)mmio->start; in platform_parse_resource()
100 adsp->cfgregsize = resource_size(mmio); in platform_parse_resource()
102 dev_dbg(dev, "cfgreg pbase=%pa size=%#x\n", &adsp->pa_cfgreg, adsp->cfgregsize); in platform_parse_resource()
110 adsp->pa_sram = (phys_addr_t)mmio->start; in platform_parse_resource()
111 adsp->sramsize = resource_size(mmio); in platform_parse_resource()
113 dev_dbg(dev, "sram pbase=%pa size=%#x\n", &adsp->pa_sram, adsp->sramsize); in platform_parse_resource()
121 adsp->va_secreg = devm_ioremap_resource(dev, mmio); in platform_parse_resource()
122 if (IS_ERR(adsp->va_secreg)) in platform_parse_resource()
123 return PTR_ERR(adsp->va_secreg); in platform_parse_resource()
125 adsp->pa_secreg = (phys_addr_t)mmio->start; in platform_parse_resource()
126 adsp->secregsize = resource_size(mmio); in platform_parse_resource()
128 dev_dbg(dev, "secreg pbase=%pa size=%#x\n", &adsp->pa_secreg, adsp->secregsize); in platform_parse_resource()
136 adsp->va_busreg = devm_ioremap_resource(dev, mmio); in platform_parse_resource()
137 if (IS_ERR(adsp->va_busreg)) in platform_parse_resource()
138 return PTR_ERR(adsp->va_busreg); in platform_parse_resource()
140 adsp->pa_busreg = (phys_addr_t)mmio->start; in platform_parse_resource()
141 adsp->busregsize = resource_size(mmio); in platform_parse_resource()
143 dev_dbg(dev, "busreg pbase=%pa size=%#x\n", &adsp->pa_busreg, adsp->busregsize); in platform_parse_resource()
161 static int adsp_memory_remap_init(struct snd_sof_dev *sdev, struct mtk_adsp_chip_info *adsp) in adsp_memory_remap_init() argument
165 offset = adsp->pa_dram - DRAM_PHYS_BASE_FROM_DSP_VIEW; in adsp_memory_remap_init()
166 adsp->dram_offset = offset; in adsp_memory_remap_init()
169 dev_dbg(sdev->dev, "adsp->pa_dram %pa, offset %#x\n", &adsp->pa_dram, offset); in adsp_memory_remap_init()
208 priv->adsp = devm_kzalloc(&pdev->dev, sizeof(struct mtk_adsp_chip_info), GFP_KERNEL); in mt8186_dsp_probe()
209 if (!priv->adsp) in mt8186_dsp_probe()
212 ret = platform_parse_resource(pdev, priv->adsp); in mt8186_dsp_probe()
217 priv->adsp->pa_sram, in mt8186_dsp_probe()
218 priv->adsp->sramsize); in mt8186_dsp_probe()
221 &priv->adsp->pa_sram, priv->adsp->sramsize); in mt8186_dsp_probe()
225 priv->adsp->va_sram = sdev->bar[SOF_FW_BLK_TYPE_IRAM]; in mt8186_dsp_probe()
228 priv->adsp->pa_dram, in mt8186_dsp_probe()
229 priv->adsp->dramsize); in mt8186_dsp_probe()
233 &priv->adsp->pa_dram, priv->adsp->dramsize); in mt8186_dsp_probe()
237 priv->adsp->va_dram = sdev->bar[SOF_FW_BLK_TYPE_SRAM]; in mt8186_dsp_probe()
239 sdev->bar[DSP_REG_BAR] = priv->adsp->va_cfgreg; in mt8186_dsp_probe()
240 sdev->bar[DSP_SECREG_BAR] = priv->adsp->va_secreg; in mt8186_dsp_probe()
241 sdev->bar[DSP_BUSREG_BAR] = priv->adsp->va_busreg; in mt8186_dsp_probe()
249 ret = adsp_memory_remap_init(sdev, priv->adsp); in mt8186_dsp_probe()
255 /* enable adsp clock before touching registers */ in mt8186_dsp_probe()
270 priv->ipc_dev = platform_device_register_data(&pdev->dev, "mtk-adsp-ipc", in mt8186_dsp_probe()
275 dev_err(sdev->dev, "failed to create mtk-adsp-ipc device\n"); in mt8186_dsp_probe()
351 dev_info(sdev->dev, "adsp dump : pc %#x, data %#x, dbg_inst %#x,", in mt8186_adsp_dump()