Commit 6e0ef7d2 authored by Eddie James's avatar Eddie James Committed by Joel Stanley
Browse files

fsi: aspeed: Enable 23-bit addressing



In order to access more than the second hub link, 23-bit addressing is
required. The core provides the highest two bits of address as the slave
ID to the master.

Signed-off-by: default avatarEddie James <eajames@linux.ibm.com>
Acked-by: default avatarJeremy Kerr <jk@ozlabs.org>
Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
parent 8a193982
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -241,9 +241,10 @@ static int aspeed_master_read(struct fsi_master *master, int link,
	struct fsi_master_aspeed *aspeed = to_fsi_master_aspeed(master);
	int ret;

	if (id != 0)
	if (id > 0x3)
		return -EINVAL;

	addr |= id << 21;
	addr += link * FSI_HUB_LINK_SIZE;

	switch (size) {
@@ -273,9 +274,10 @@ static int aspeed_master_write(struct fsi_master *master, int link,
	struct fsi_master_aspeed *aspeed = to_fsi_master_aspeed(master);
	int ret;

	if (id != 0)
	if (id > 0x3)
		return -EINVAL;

	addr |= id << 21;
	addr += link * FSI_HUB_LINK_SIZE;

	switch (size) {