Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c8b581d authored by Sascha Hauer's avatar Sascha Hauer
Browse files

i.MX27 audmux: Fix register offsets



We have two holes in the register space. The driver did not
handle this. Fix it.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 9e3e7afe
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@

static void __iomem *audmux_base;

#define MXC_AUDMUX_V1_PCR(x)	((x) * 4)
static unsigned char port_mapping[] = {
	0x0, 0x4, 0x8, 0x10, 0x14, 0x1c,
};

int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr)
{
@@ -37,7 +39,10 @@ int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr)
		return -ENOSYS;
	}

	writel(pcr, audmux_base + MXC_AUDMUX_V1_PCR(port));
	if (port >= ARRAY_SIZE(port_mapping))
		return -EINVAL;

	writel(pcr, audmux_base + port_mapping[port]);

	return 0;
}