summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/mpc85xx/lbc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc/mpc85xx/lbc.h')
-rw-r--r--sys/powerpc/mpc85xx/lbc.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/sys/powerpc/mpc85xx/lbc.h b/sys/powerpc/mpc85xx/lbc.h
index 8bc7843..24e741a 100644
--- a/sys/powerpc/mpc85xx/lbc.h
+++ b/sys/powerpc/mpc85xx/lbc.h
@@ -30,11 +30,49 @@
#define _MACHINE_LBC_H_
#define LBC_IVAR_DEVTYPE 1
-#define LBC_IVAR_CLOCK 2
-#define LBC_IVAR_REGSHIFT 3
+
+/* Maximum number of devices on Local Bus */
+#define LBC_DEV_MAX 8
/* Device types. */
#define LBC_DEVTYPE_CFI 1
-#define LBC_DEVTYPE_UART 2
+#define LBC_DEVTYPE_RTC 2
+
+/* Local access registers */
+#define LBC85XX_BR(n) (OCP85XX_LBC_OFF + (8 * n))
+#define LBC85XX_OR(n) (OCP85XX_LBC_OFF + 4 + (8 * n))
+#define LBC85XX_LBCR (OCP85XX_LBC_OFF + 0xd0)
+#define LBC85XX_LCRR (OCP85XX_LBC_OFF + 0xd4)
+
+/* LBC machine select */
+#define LBCRES_MSEL_GPCM 0
+#define LBCRES_MSEL_FCM 1
+#define LBCRES_MSEL_UPMA 8
+#define LBCRES_MSEL_UPMB 9
+#define LBCRES_MSEL_UPMC 10
+
+/* LBC data error checking modes */
+#define LBCRES_DECC_DISABLED 0
+#define LBCRES_DECC_NORMAL 1
+#define LBCRES_DECC_RMW 2
+
+/* LBC atomic operation modes */
+#define LBCRES_ATOM_DISABLED 0
+#define LBCRES_ATOM_RAWA 1
+#define LBCRES_ATOM_WARA 2
+
+struct lbc_resource {
+ int lbr_devtype; /* LBC device type */
+ int lbr_unit; /* Resource table entry number */
+ vm_paddr_t lbr_base_addr; /* Device mem region base address */
+ size_t lbr_size; /* Device mem region size */
+ int lbr_port_size; /* Data bus width */
+ uint8_t lbr_msel; /* LBC machine select */
+ uint8_t lbr_decc; /* Data error checking mode */
+ uint8_t lbr_atom; /* Atomic operation mode */
+ uint8_t lbr_wp; /* Write protect */
+};
+
+extern const struct lbc_resource mpc85xx_lbc_resources[];
#endif /* _MACHINE_LBC_H_ */
OpenPOWER on IntegriCloud