/* System Bus Controller registers */ #define UNIPHIER_SBC_BASE 0x100 /* base address of bank0 space */ #define UNIPHIER_SBC_BASE_BE BIT(0) /* bank_enable */ #define UNIPHIER_SBC_CTRL0 0x200 /* timing parameter 0 of bank0 */ #define UNIPHIER_SBC_CTRL1 0x204 /* timing parameter 1 of bank0 */ #define UNIPHIER_SBC_CTRL2 0x208 /* timing parameter 2 of bank0 */ #define UNIPHIER_SBC_CTRL3 0x20c /* timing parameter 3 of bank0 */ #define UNIPHIER_SBC_CTRL4 0x300 /* timing parameter 4 of bank0 */
#define UNIPHIER_SBC_STRIDE 0x10 /* register stride to next bank */ #define UNIPHIER_SBC_NR_BANKS 8/* number of banks (chip select) */ #define UNIPHIER_SBC_BASE_DUMMY 0xffffffff /* data to squash bank 0, 1 */
dev_dbg(priv->dev, "range added: bank = %d, addr = %08x, end = %08x\n",
bank, priv->bank[bank].base, priv->bank[bank].end);
return0;
}
staticint uniphier_system_bus_check_overlap( conststruct uniphier_system_bus_priv *priv)
{ int i, j;
for (i = 0; i < ARRAY_SIZE(priv->bank); i++) { for (j = i + 1; j < ARRAY_SIZE(priv->bank); j++) { if (priv->bank[i].end > priv->bank[j].base &&
priv->bank[i].base < priv->bank[j].end) {
dev_err(priv->dev, "region overlap between bank%d and bank%d\n",
i, j); return -EINVAL;
}
}
}
MODULE_AUTHOR("Masahiro Yamada <yamada.masahiro@socionext.com>");
MODULE_DESCRIPTION("UniPhier System Bus driver");
MODULE_LICENSE("GPL");
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.