static int imx8mq_reset_set()

in reset-imx7.c [219:250]


static int imx8mq_reset_set(struct reset_controller_dev *rcdev,
			    unsigned long id, bool assert)
{
	struct imx7_src *imx7src = to_imx7_src(rcdev);
	const unsigned int bit = imx7src->signals[id].bit;
	unsigned int value = assert ? bit : 0;

	switch (id) {
	case IMX8MQ_RESET_PCIEPHY:
	case IMX8MQ_RESET_PCIEPHY2:
		/*
		 * wait for more than 10us to release phy g_rst and
		 * btnrst
		 */
		if (!assert)
			udelay(10);
		break;

	case IMX8MQ_RESET_PCIE_CTRL_APPS_EN:
	case IMX8MQ_RESET_PCIE2_CTRL_APPS_EN:
	case IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N:
	case IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N:
	case IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N:
	case IMX8MQ_RESET_MIPI_DSI_RESET_N:
	case IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N:
	case IMX8MQ_RESET_M4_ENABLE:
		value = assert ? 0 : bit;
		break;
	}

	return imx7_reset_update(imx7src, id, value);
}