1 /* linux/include/linux/scx200.h 2 3 Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com> 4 5 Defines for the National Semiconductor SCx200 Processors 6 */ 7 8 /* Interesting stuff for the National Semiconductor SCx200 CPU */ 9 10 /* F0 PCI Header/Bridge Configuration Registers */ 11 #define SCx200_DOCCS_BASE 0x78 /* DOCCS Base Address Register */ 12 #define SCx200_DOCCS_CTRL 0x7c /* DOCCS Control Register */ 13 14 /* GPIO Register Block */ 15 #define SCx200_GPIO_SIZE 0x2c /* Size of GPIO register block */ 16 17 /* General Configuration Block */ 18 #define SCx200_CB_BASE 0x9000 /* Base fixed at 0x9000 according to errata */ 19 20 /* Watchdog Timer */ 21 #define SCx200_WDT_OFFSET 0x00 /* offset within configuration block */ 22 #define SCx200_WDT_SIZE 0x05 /* size */ 23 24 #define SCx200_WDT_WDTO 0x00 /* Time-Out Register */ 25 #define SCx200_WDT_WDCNFG 0x02 /* Configuration Register */ 26 #define SCx200_WDT_WDSTS 0x04 /* Status Register */ 27 #define SCx200_WDT_WDSTS_WDOVF (1<<0) /* Overflow bit */ 28 29 /* High Resolution Timer */ 30 #define SCx200_TIMER_OFFSET 0x08 31 #define SCx200_TIMER_SIZE 0x05 32 33 /* Clock Generators */ 34 #define SCx200_CLOCKGEN_OFFSET 0x10 35 #define SCx200_CLOCKGEN_SIZE 0x10 36 37 /* Pin Multiplexing and Miscellaneous Configuration Registers */ 38 #define SCx200_MISC_OFFSET 0x30 39 #define SCx200_MISC_SIZE 0x10 40 41 #define SCx200_PMR 0x30 /* Pin Multiplexing Register */ 42 #define SCx200_MCR 0x34 /* Miscellaneous Configuration Register */ 43 #define SCx200_INTSEL 0x38 /* Interrupt Selection Register */ 44 #define SCx200_IID 0x3c /* IA On a Chip Identification Number Reg */ 45 #define SCx200_REV 0x3d /* Revision Register */ 46 #define SCx200_CBA 0x3e /* Configuration Base Address Register */ 47 48 /* Verify that the configuration block really is there */ 49 #define scx200_cb_probe(base) (inw((base) + SCx200_CBA) == (base)) 50 51 /* 52 Local variables: 53 compile-command: "make -C ../.. bzImage modules" 54 c-basic-offset: 8 55 End: 56 */ 57