wcss               96 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
wcss              103 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_RESET_REG);
wcss              105 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_RESET_REG);
wcss              108 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_XO_CBCR);
wcss              110 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_XO_CBCR);
wcss              113 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = readl_poll_timeout(wcss->reg_base + Q6SS_XO_CBCR,
wcss              117 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev,
wcss              122 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              124 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              129 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              132 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              134 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              138 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              141 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_MEM_PWR_CTL);
wcss              144 drivers/remoteproc/qcom_q6v5_wcss.c 		writel(val, wcss->reg_base + Q6SS_MEM_PWR_CTL);
wcss              150 drivers/remoteproc/qcom_q6v5_wcss.c 		val |= readl(wcss->reg_base + Q6SS_MEM_PWR_CTL);
wcss              154 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              156 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              160 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              163 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_RESET_REG);
wcss              165 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_RESET_REG);
wcss              168 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_GFMUX_CTL_REG);
wcss              170 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_GFMUX_CTL_REG);
wcss              173 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_RESET_REG);
wcss              175 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_RESET_REG);
wcss              182 drivers/remoteproc/qcom_q6v5_wcss.c 	struct q6v5_wcss *wcss = rproc->priv;
wcss              185 drivers/remoteproc/qcom_q6v5_wcss.c 	qcom_q6v5_prepare(&wcss->q6v5);
wcss              188 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = reset_control_deassert(wcss->wcss_reset);
wcss              190 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "wcss_reset failed\n");
wcss              194 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = reset_control_deassert(wcss->wcss_q6_reset);
wcss              196 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "wcss_q6_reset failed\n");
wcss              201 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = regmap_update_bits(wcss->halt_map,
wcss              202 drivers/remoteproc/qcom_q6v5_wcss.c 				 wcss->halt_nc + TCSR_GLOBAL_CFG0,
wcss              208 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = regmap_update_bits(wcss->halt_map,
wcss              209 drivers/remoteproc/qcom_q6v5_wcss.c 				 wcss->halt_nc + TCSR_GLOBAL_CFG1,
wcss              215 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(rproc->bootaddr >> 4, wcss->reg_base + Q6SS_RST_EVB);
wcss              217 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_wcss_reset(wcss);
wcss              221 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
wcss              223 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "start timed out\n");
wcss              228 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_q6_reset);
wcss              231 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_reset);
wcss              236 drivers/remoteproc/qcom_q6v5_wcss.c static void q6v5_wcss_halt_axi_port(struct q6v5_wcss *wcss,
wcss              264 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "port failed halt\n");
wcss              270 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_powerdown(struct q6v5_wcss *wcss)
wcss              276 drivers/remoteproc/qcom_q6v5_wcss.c 	q6v5_wcss_halt_axi_port(wcss, wcss->halt_map, wcss->halt_wcss);
wcss              279 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->rmb_base + SSCAON_CONFIG);
wcss              281 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->rmb_base + SSCAON_CONFIG);
wcss              286 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->rmb_base + SSCAON_CONFIG);
wcss              290 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->rmb_base + SSCAON_CONFIG);
wcss              293 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = readl_poll_timeout(wcss->rmb_base + SSCAON_STATUS,
wcss              297 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev,
wcss              303 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_aon_reset);
wcss              306 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->rmb_base + SSCAON_CONFIG);
wcss              308 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->rmb_base + SSCAON_CONFIG);
wcss              311 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_reset);
wcss              316 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_q6_powerdown(struct q6v5_wcss *wcss)
wcss              323 drivers/remoteproc/qcom_q6v5_wcss.c 	q6v5_wcss_halt_axi_port(wcss, wcss->halt_map, wcss->halt_q6);
wcss              326 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_GFMUX_CTL_REG);
wcss              328 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_GFMUX_CTL_REG);
wcss              331 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              333 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              337 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              341 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              345 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              349 drivers/remoteproc/qcom_q6v5_wcss.c 		val = readl(wcss->reg_base + Q6SS_MEM_PWR_CTL);
wcss              351 drivers/remoteproc/qcom_q6v5_wcss.c 		writel(val, wcss->reg_base + Q6SS_MEM_PWR_CTL);
wcss              356 drivers/remoteproc/qcom_q6v5_wcss.c 	val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              358 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              362 drivers/remoteproc/qcom_q6v5_wcss.c 	writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG);
wcss              366 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = readl_poll_timeout(wcss->reg_base + Q6SS_BHS_STATUS,
wcss              370 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "BHS_STATUS not OFF (rc:%d)\n", ret);
wcss              375 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_reset);
wcss              378 drivers/remoteproc/qcom_q6v5_wcss.c 	reset_control_assert(wcss->wcss_q6_reset);
wcss              385 drivers/remoteproc/qcom_q6v5_wcss.c 	struct q6v5_wcss *wcss = rproc->priv;
wcss              389 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = qcom_q6v5_request_stop(&wcss->q6v5);
wcss              391 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "timed out on wait\n");
wcss              395 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_wcss_powerdown(wcss);
wcss              400 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_q6_powerdown(wcss);
wcss              404 drivers/remoteproc/qcom_q6v5_wcss.c 	qcom_q6v5_unprepare(&wcss->q6v5);
wcss              411 drivers/remoteproc/qcom_q6v5_wcss.c 	struct q6v5_wcss *wcss = rproc->priv;
wcss              414 drivers/remoteproc/qcom_q6v5_wcss.c 	offset = da - wcss->mem_reloc;
wcss              415 drivers/remoteproc/qcom_q6v5_wcss.c 	if (offset < 0 || offset + len > wcss->mem_size)
wcss              418 drivers/remoteproc/qcom_q6v5_wcss.c 	return wcss->mem_region + offset;
wcss              423 drivers/remoteproc/qcom_q6v5_wcss.c 	struct q6v5_wcss *wcss = rproc->priv;
wcss              425 drivers/remoteproc/qcom_q6v5_wcss.c 	return qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
wcss              426 drivers/remoteproc/qcom_q6v5_wcss.c 				     0, wcss->mem_region, wcss->mem_phys,
wcss              427 drivers/remoteproc/qcom_q6v5_wcss.c 				     wcss->mem_size, &wcss->mem_reloc);
wcss              438 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_init_reset(struct q6v5_wcss *wcss)
wcss              440 drivers/remoteproc/qcom_q6v5_wcss.c 	struct device *dev = wcss->dev;
wcss              442 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->wcss_aon_reset = devm_reset_control_get(dev, "wcss_aon_reset");
wcss              443 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->wcss_aon_reset)) {
wcss              444 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "unable to acquire wcss_aon_reset\n");
wcss              445 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->wcss_aon_reset);
wcss              448 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->wcss_reset = devm_reset_control_get(dev, "wcss_reset");
wcss              449 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->wcss_reset)) {
wcss              450 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "unable to acquire wcss_reset\n");
wcss              451 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->wcss_reset);
wcss              454 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->wcss_q6_reset = devm_reset_control_get(dev, "wcss_q6_reset");
wcss              455 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->wcss_q6_reset)) {
wcss              456 drivers/remoteproc/qcom_q6v5_wcss.c 		dev_err(wcss->dev, "unable to acquire wcss_q6_reset\n");
wcss              457 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->wcss_q6_reset);
wcss              463 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss,
wcss              471 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->reg_base = devm_ioremap_resource(&pdev->dev, res);
wcss              472 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->reg_base))
wcss              473 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->reg_base);
wcss              476 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->rmb_base = devm_ioremap_resource(&pdev->dev, res);
wcss              477 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->rmb_base))
wcss              478 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->rmb_base);
wcss              487 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->halt_map = syscon_node_to_regmap(args.np);
wcss              489 drivers/remoteproc/qcom_q6v5_wcss.c 	if (IS_ERR(wcss->halt_map))
wcss              490 drivers/remoteproc/qcom_q6v5_wcss.c 		return PTR_ERR(wcss->halt_map);
wcss              492 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->halt_q6 = args.args[0];
wcss              493 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->halt_wcss = args.args[1];
wcss              494 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->halt_nc = args.args[2];
wcss              499 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_alloc_memory_region(struct q6v5_wcss *wcss)
wcss              503 drivers/remoteproc/qcom_q6v5_wcss.c 	struct device *dev = wcss->dev;
wcss              515 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->mem_phys = rmem->base;
wcss              516 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->mem_reloc = rmem->base;
wcss              517 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->mem_size = rmem->size;
wcss              518 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->mem_region = devm_ioremap_wc(dev, wcss->mem_phys, wcss->mem_size);
wcss              519 drivers/remoteproc/qcom_q6v5_wcss.c 	if (!wcss->mem_region) {
wcss              530 drivers/remoteproc/qcom_q6v5_wcss.c 	struct q6v5_wcss *wcss;
wcss              535 drivers/remoteproc/qcom_q6v5_wcss.c 			    "IPQ8074/q6_fw.mdt", sizeof(*wcss));
wcss              541 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss = rproc->priv;
wcss              542 drivers/remoteproc/qcom_q6v5_wcss.c 	wcss->dev = &pdev->dev;
wcss              544 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_wcss_init_mmio(wcss, pdev);
wcss              548 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_alloc_memory_region(wcss);
wcss              552 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = q6v5_wcss_init_reset(wcss);
wcss              556 drivers/remoteproc/qcom_q6v5_wcss.c 	ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, WCSS_CRASH_REASON, NULL);