~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/parisc/include/asm/hardware.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _PARISC_HARDWARE_H
  3 #define _PARISC_HARDWARE_H
  4 
  5 #include <linux/mod_devicetable.h>
  6 
  7 #define HWTYPE_ANY_ID           PA_HWTYPE_ANY_ID
  8 #define HVERSION_ANY_ID         PA_HVERSION_ANY_ID
  9 #define HVERSION_REV_ANY_ID     PA_HVERSION_REV_ANY_ID
 10 #define SVERSION_ANY_ID         PA_SVERSION_ANY_ID
 11 
 12 struct hp_hardware {
 13         unsigned int    hw_type:8;      /* HPHW_xxx */
 14         unsigned int    hversion:12;
 15         unsigned int    sversion:12;
 16         unsigned char   opt;
 17         unsigned char   name[59];       /* The hardware description */
 18 } __packed;
 19 
 20 struct parisc_device;
 21 
 22 enum cpu_type {
 23         pcx     = 0, /* pa7000          pa 1.0  */
 24         pcxs    = 1, /* pa7000          pa 1.1a */
 25         pcxt    = 2, /* pa7100          pa 1.1b */
 26         pcxt_   = 3, /* pa7200  (t')    pa 1.1c */
 27         pcxl    = 4, /* pa7100lc        pa 1.1d */
 28         pcxl2   = 5, /* pa7300lc        pa 1.1e */
 29         pcxu    = 6, /* pa8000          pa 2.0  */
 30         pcxu_   = 7, /* pa8200  (u+)    pa 2.0  */
 31         pcxw    = 8, /* pa8500          pa 2.0  */
 32         pcxw_   = 9, /* pa8600  (w+)    pa 2.0  */
 33         pcxw2   = 10, /* pa8700         pa 2.0  */
 34         mako    = 11, /* pa8800         pa 2.0  */
 35         mako2   = 12  /* pa8900         pa 2.0  */
 36 };
 37 
 38 extern const char * const cpu_name_version[][2]; /* mapping from enum cpu_type to strings */
 39 
 40 struct parisc_driver;
 41 
 42 struct io_module {
 43         volatile uint32_t nothing;              /* reg 0 */
 44         volatile uint32_t io_eim;
 45         volatile uint32_t io_dc_adata;
 46         volatile uint32_t io_ii_cdata;
 47         volatile uint32_t io_dma_link;          /* reg 4 */
 48         volatile uint32_t io_dma_command;
 49         volatile uint32_t io_dma_address;
 50         volatile uint32_t io_dma_count;
 51         volatile uint32_t io_flex;              /* reg 8 */
 52         volatile uint32_t io_spa_address;
 53         volatile uint32_t reserved1[2];
 54         volatile uint32_t io_command;           /* reg 12 */
 55         volatile uint32_t io_status;
 56         volatile uint32_t io_control;
 57         volatile uint32_t io_data;
 58         volatile uint32_t reserved2;            /* reg 16 */
 59         volatile uint32_t chain_addr;
 60         volatile uint32_t sub_mask_clr;
 61         volatile uint32_t reserved3[13];
 62         volatile uint32_t undefined[480];
 63         volatile uint32_t unpriv[512];
 64 };
 65 
 66 struct bc_module {
 67         volatile uint32_t unused1[12];
 68         volatile uint32_t io_command;
 69         volatile uint32_t io_status;
 70         volatile uint32_t io_control;
 71         volatile uint32_t unused2[1];
 72         volatile uint32_t io_err_resp;
 73         volatile uint32_t io_err_info;
 74         volatile uint32_t io_err_req;
 75         volatile uint32_t unused3[11];
 76         volatile uint32_t io_io_low;
 77         volatile uint32_t io_io_high;
 78 };
 79 
 80 #define HPHW_NPROC     0 
 81 #define HPHW_MEMORY    1       
 82 #define HPHW_B_DMA     2
 83 #define HPHW_OBSOLETE  3
 84 #define HPHW_A_DMA     4
 85 #define HPHW_A_DIRECT  5
 86 #define HPHW_OTHER     6
 87 #define HPHW_BCPORT    7
 88 #define HPHW_CIO       8
 89 #define HPHW_CONSOLE   9
 90 #define HPHW_FIO       10
 91 #define HPHW_BA        11
 92 #define HPHW_IOA       12
 93 #define HPHW_BRIDGE    13
 94 #define HPHW_FABRIC    14
 95 #define HPHW_MC        15
 96 #define HPHW_FAULTY    31
 97 
 98 struct parisc_device_id;
 99 
100 /* hardware.c: */
101 extern const char *parisc_hardware_description(struct parisc_device_id *id);
102 extern enum cpu_type parisc_get_cpu_type(unsigned long hversion);
103 
104 struct pci_dev;
105 struct hardware_path;
106 
107 /* drivers.c: */
108 extern struct parisc_device *alloc_pa_dev(unsigned long hpa,
109                 struct hardware_path *path);
110 extern int register_parisc_device(struct parisc_device *dev);
111 extern int register_parisc_driver(struct parisc_driver *driver);
112 extern int count_parisc_driver(struct parisc_driver *driver);
113 extern int unregister_parisc_driver(struct parisc_driver *driver);
114 extern void walk_central_bus(void);
115 extern const struct parisc_device *find_pa_parent_type(const struct parisc_device *, int);
116 extern void print_parisc_devices(void);
117 extern char *print_pa_hwpath(struct parisc_device *dev, char *path);
118 extern char *print_pci_hwpath(struct pci_dev *dev, char *path);
119 extern void get_pci_node_path(struct pci_dev *dev, struct hardware_path *path);
120 extern void init_parisc_bus(void);
121 extern struct device *hwpath_to_device(struct hardware_path *modpath);
122 extern void device_to_hwpath(struct device *dev, struct hardware_path *path);
123 extern int machine_has_merced_bus(void);
124 
125 /* inventory.c: */
126 extern void do_memory_inventory(void);
127 extern void do_device_inventory(void);
128 
129 #endif /* _PARISC_HARDWARE_H */
130 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php