/
usr
/
src
/
linux-headers-5.15.0-181
/
arch
/
powerpc
/
include
/
asm
/
/usr/src/linux-headers-5.15.0-181/arch/powerpc/include/asm
mkdir
upload
Name
Size
Mode
Actions
book3s/
-
0755
rm
nohash/
-
0755
rm
vdso/
-
0755
rm
8xx_immap.h
14099
0644
edit
dl
rm
accounting.h
908
0644
edit
dl
rm
agp.h
525
0644
edit
dl
rm
archrandom.h
838
0644
edit
dl
rm
asm-compat.h
1882
0644
edit
dl
rm
asm-const.h
468
0644
edit
dl
rm
asm-offsets.h
35
0644
edit
dl
rm
asm-prototypes.h
5130
0644
edit
dl
rm
async_tx.h
908
0644
edit
dl
rm
atomic.h
14267
0644
edit
dl
rm
backlight.h
1115
0644
edit
dl
rm
barrier.h
3977
0644
edit
dl
rm
bitops.h
7913
0644
edit
dl
rm
bootx.h
1142
0644
edit
dl
rm
bpf_perf_event.h
233
0644
edit
dl
rm
btext.h
1006
0644
edit
dl
rm
bug.h
4090
0644
edit
dl
rm
cache.h
2888
0644
edit
dl
rm
cacheflush.h
3851
0644
edit
dl
rm
cell-pmu.h
3496
0644
edit
dl
rm
cell-regs.h
9799
0644
edit
dl
rm
checksum.h
5723
0644
edit
dl
rm
clocksource.h
185
0644
edit
dl
rm
cmpxchg.h
12280
0644
edit
dl
rm
code-patching-asm.h
397
0644
edit
dl
rm
code-patching.h
5443
0644
edit
dl
rm
compat.h
3304
0644
edit
dl
rm
context_tracking.h
245
0644
edit
dl
rm
copro.h
593
0644
edit
dl
rm
cpm.h
25
0644
edit
dl
rm
cpm1.h
21711
0644
edit
dl
rm
cpm2.h
49598
0644
edit
dl
rm
cpufeature.h
998
0644
edit
dl
rm
cpuidle.h
3407
0644
edit
dl
rm
cputable.h
23211
0644
edit
dl
rm
cputhreads.h
3856
0644
edit
dl
rm
cputime.h
3069
0644
edit
dl
rm
cpu_has_feature.h
1339
0644
edit
dl
rm
cpu_setup_power.h
507
0644
edit
dl
rm
crashdump-ppc64.h
624
0644
edit
dl
rm
current.h
680
0644
edit
dl
rm
dbdma.h
3809
0644
edit
dl
rm
dbell.h
4025
0644
edit
dl
rm
dcr-generic.h
930
0644
edit
dl
rm
dcr-mmio.h
1026
0644
edit
dl
rm
dcr-native.h
3859
0644
edit
dl
rm
dcr-regs.h
5846
0644
edit
dl
rm
dcr.h
2108
0644
edit
dl
rm
debug.h
1886
0644
edit
dl
rm
delay.h
3297
0644
edit
dl
rm
device.h
1016
0644
edit
dl
rm
disassemble.h
2189
0644
edit
dl
rm
dma-direct.h
391
0644
edit
dl
rm
dma.h
10725
0644
edit
dl
rm
drmem.h
2970
0644
edit
dl
rm
dtl.h
1515
0644
edit
dl
rm
dt_cpu_ftrs.h
756
0644
edit
dl
rm
edac.h
1105
0644
edit
dl
rm
eeh.h
15367
0644
edit
dl
rm
eeh_event.h
826
0644
edit
dl
rm
ehv_pic.h
963
0644
edit
dl
rm
elf.h
6283
0644
edit
dl
rm
elfnote.h
527
0644
edit
dl
rm
emergency-restart.h
43
0644
edit
dl
rm
emulated_ops.h
2072
0644
edit
dl
rm
epapr_hcalls.h
16827
0644
edit
dl
rm
exception-64e.h
5785
0644
edit
dl
rm
exception-64s.h
4350
0644
edit
dl
rm
exec.h
246
0644
edit
dl
rm
extable.h
1205
0644
edit
dl
rm
fadump-internal.h
4352
0644
edit
dl
rm
fadump.h
1095
0644
edit
dl
rm
fb.h
483
0644
edit
dl
rm
feature-fixups.h
9828
0644
edit
dl
rm
firmware.h
5327
0644
edit
dl
rm
fixmap.h
3723
0644
edit
dl
rm
floppy.h
5111
0644
edit
dl
rm
fsl_85xx_cache_sram.h
812
0644
edit
dl
rm
fsl_gtm.h
1203
0644
edit
dl
rm
fsl_hcalls.h
17615
0644
edit
dl
rm
fsl_lbc.h
10489
0644
edit
dl
rm
fsl_pamu_stash.h
411
0644
edit
dl
rm
fsl_pm.h
1183
0644
edit
dl
rm
fs_pd.h
1046
0644
edit
dl
rm
ftrace.h
3550
0644
edit
dl
rm
futex.h
2246
0644
edit
dl
rm
grackle.h
331
0644
edit
dl
rm
hardirq.h
948
0644
edit
dl
rm
head-64.h
5507
0644
edit
dl
rm
heathrow.h
2595
0644
edit
dl
rm
highmem.h
2079
0644
edit
dl
rm
hmi.h
971
0644
edit
dl
rm
hugetlb.h
2186
0644
edit
dl
rm
hvcall.h
21250
0644
edit
dl
rm
hvconsole.h
790
0644
edit
dl
rm
hvcserver.h
1473
0644
edit
dl
rm
hvsi.h
2850
0644
edit
dl
rm
hw_breakpoint.h
3735
0644
edit
dl
rm
hw_irq.h
11218
0644
edit
dl
rm
hydra.h
2948
0644
edit
dl
rm
i8259.h
361
0644
edit
dl
rm
ibmebus.h
2204
0644
edit
dl
rm
icswx.h
5090
0644
edit
dl
rm
ide.h
586
0644
edit
dl
rm
idle.h
2372
0644
edit
dl
rm
imc-pmu.h
3983
0644
edit
dl
rm
immap_cpm2.h
10749
0644
edit
dl
rm
inst.h
3683
0644
edit
dl
rm
interrupt.h
18353
0644
edit
dl
rm
io-defs.h
3164
0644
edit
dl
rm
io-workarounds.h
1313
0644
edit
dl
rm
io.h
31387
0644
edit
dl
rm
iommu.h
10283
0644
edit
dl
rm
io_event_irq.h
1746
0644
edit
dl
rm
ipic.h
3141
0644
edit
dl
rm
irq.h
1320
0644
edit
dl
rm
irqflags.h
1777
0644
edit
dl
rm
irq_work.h
213
0644
edit
dl
rm
isa-bridge.h
654
0644
edit
dl
rm
jump_label.h
1351
0644
edit
dl
rm
kasan.h
1396
0644
edit
dl
rm
Kbuild
286
0644
edit
dl
rm
kdebug.h
291
0644
edit
dl
rm
kdump.h
1399
0644
edit
dl
rm
kexec.h
4838
0644
edit
dl
rm
kexec_ranges.h
943
0644
edit
dl
rm
keylargo.h
11061
0644
edit
dl
rm
kfence.h
650
0644
edit
dl
rm
kgdb.h
2156
0644
edit
dl
rm
kprobes.h
2815
0644
edit
dl
rm
kup.h
3297
0644
edit
dl
rm
kvm_asm.h
4952
0644
edit
dl
rm
kvm_book3s.h
17220
0644
edit
dl
rm
kvm_book3s_32.h
816
0644
edit
dl
rm
kvm_book3s_64.h
18333
0644
edit
dl
rm
kvm_book3s_asm.h
3777
0644
edit
dl
rm
kvm_book3s_uvmem.h
2738
0644
edit
dl
rm
kvm_booke.h
2233
0644
edit
dl
rm
kvm_booke_hv_asm.h
1960
0644
edit
dl
rm
kvm_fpu.h
2199
0644
edit
dl
rm
kvm_guest.h
566
0644
edit
dl
rm
kvm_host.h
21966
0644
edit
dl
rm
kvm_para.h
752
0644
edit
dl
rm
kvm_ppc.h
36699
0644
edit
dl
rm
libata-portmap.h
249
0644
edit
dl
rm
linkage.h
501
0644
edit
dl
rm
livepatch.h
1140
0644
edit
dl
rm
local.h
3258
0644
edit
dl
rm
lppaca.h
5015
0644
edit
dl
rm
lv1call.h
18555
0644
edit
dl
rm
machdep.h
9630
0644
edit
dl
rm
macio.h
3985
0644
edit
dl
rm
mc146818rtc.h
736
0644
edit
dl
rm
mce.h
6396
0644
edit
dl
rm
mediabay.h
1375
0644
edit
dl
rm
membarrier.h
877
0644
edit
dl
rm
mem_encrypt.h
532
0644
edit
dl
rm
mman.h
1471
0644
edit
dl
rm
mmiowb.h
374
0644
edit
dl
rm
mmu.h
11244
0644
edit
dl
rm
mmu_context.h
9646
0644
edit
dl
rm
mmzone.h
1003
0644
edit
dl
rm
module.h
2284
0644
edit
dl
rm
module.lds.h
95
0644
edit
dl
rm
mpc5xxx.h
439
0644
edit
dl
rm
mpc6xx.h
143
0644
edit
dl
rm
mpc52xx.h
11100
0644
edit
dl
rm
mpc52xx_psc.h
10125
0644
edit
dl
rm
mpc85xx.h
2382
0644
edit
dl
rm
mpc5121.h
3863
0644
edit
dl
rm
mpc8260.h
742
0644
edit
dl
rm
mpic.h
14309
0644
edit
dl
rm
mpic_msgr.h
3441
0644
edit
dl
rm
mpic_timer.h
1183
0644
edit
dl
rm
msi_bitmap.h
867
0644
edit
dl
rm
nmi.h
579
0644
edit
dl
rm
nvram.h
2834
0644
edit
dl
rm
ohare.h
1684
0644
edit
dl
rm
opal-api.h
31680
0644
edit
dl
rm
opal.h
17843
0644
edit
dl
rm
paca.h
8783
0644
edit
dl
rm
page.h
10362
0644
edit
dl
rm
page_32.h
1626
0644
edit
dl
rm
page_64.h
2716
0644
edit
dl
rm
paravirt.h
3881
0644
edit
dl
rm
parport.h
956
0644
edit
dl
rm
pasemi_dma.h
23273
0644
edit
dl
rm
pci-bridge.h
9481
0644
edit
dl
rm
pci.h
3605
0644
edit
dl
rm
percpu.h
815
0644
edit
dl
rm
perf_event.h
1509
0644
edit
dl
rm
perf_event_fsl_emb.h
1252
0644
edit
dl
rm
perf_event_server.h
7104
0644
edit
dl
rm
pgalloc.h
2067
0644
edit
dl
rm
pgtable-be-types.h
2601
0644
edit
dl
rm
pgtable-types.h
1895
0644
edit
dl
rm
pgtable.h
4047
0644
edit
dl
rm
pkeys.h
4279
0644
edit
dl
rm
plpar_wrappers.h
10193
0644
edit
dl
rm
pmac_feature.h
13396
0644
edit
dl
rm
pmac_low_i2c.h
3100
0644
edit
dl
rm
pmac_pfunc.h
8237
0644
edit
dl
rm
pmc.h
1116
0644
edit
dl
rm
pmi.h
1177
0644
edit
dl
rm
pnv-ocxl.h
3069
0644
edit
dl
rm
pnv-pci.h
2432
0644
edit
dl
rm
powernv.h
454
0644
edit
dl
rm
ppc-opcode.h
31419
0644
edit
dl
rm
ppc-pci.h
2282
0644
edit
dl
rm
ppc4xx.h
328
0644
edit
dl
rm
ppc_asm.h
20530
0644
edit
dl
rm
probes.h
1542
0644
edit
dl
rm
processor.h
11898
0644
edit
dl
rm
prom.h
7324
0644
edit
dl
rm
ps3.h
15219
0644
edit
dl
rm
ps3av.h
23422
0644
edit
dl
rm
ps3gpu.h
1928
0644
edit
dl
rm
ps3stor.h
1408
0644
edit
dl
rm
pte-walk.h
2281
0644
edit
dl
rm
ptrace.h
10508
0644
edit
dl
rm
qspinlock.h
2064
0644
edit
dl
rm
qspinlock_paravirt.h
221
0644
edit
dl
rm
reg.h
64465
0644
edit
dl
rm
reg_8xx.h
2867
0644
edit
dl
rm
reg_a2.h
6128
0644
edit
dl
rm
reg_booke.h
33882
0644
edit
dl
rm
reg_fsl_emb.h
3961
0644
edit
dl
rm
rheap.h
2578
0644
edit
dl
rm
rio.h
424
0644
edit
dl
rm
rtas-types.h
2939
0644
edit
dl
rm
rtas.h
12574
0644
edit
dl
rm
runlatch.h
1184
0644
edit
dl
rm
seccomp.h
1043
0644
edit
dl
rm
sections.h
1982
0644
edit
dl
rm
secure_boot.h
476
0644
edit
dl
rm
security_features.h
3509
0644
edit
dl
rm
secvar.h
765
0644
edit
dl
rm
serial.h
473
0644
edit
dl
rm
setjmp.h
400
0644
edit
dl
rm
setup.h
2475
0644
edit
dl
rm
set_memory.h
1160
0644
edit
dl
rm
sfp-machine.h
12676
0644
edit
dl
rm
shmparam.h
206
0644
edit
dl
rm
signal.h
320
0644
edit
dl
rm
simple_spinlock.h
6662
0644
edit
dl
rm
simple_spinlock_types.h
481
0644
edit
dl
rm
slice.h
1121
0644
edit
dl
rm
smp.h
7804
0644
edit
dl
rm
smu.h
19789
0644
edit
dl
rm
sparsemem.h
843
0644
edit
dl
rm
spinlock.h
472
0644
edit
dl
rm
spinlock_types.h
382
0644
edit
dl
rm
spu.h
23963
0644
edit
dl
rm
spu_csa.h
6166
0644
edit
dl
rm
spu_info.h
272
0644
edit
dl
rm
spu_priv1.h
5186
0644
edit
dl
rm
sstep.h
4730
0644
edit
dl
rm
stackprotector.h
788
0644
edit
dl
rm
stacktrace.h
297
0644
edit
dl
rm
string.h
2522
0644
edit
dl
rm
svm.h
652
0644
edit
dl
rm
swab.h
173
0644
edit
dl
rm
swiotlb.h
374
0644
edit
dl
rm
switch_to.h
2966
0644
edit
dl
rm
synch.h
2067
0644
edit
dl
rm
syscall.h
3057
0644
edit
dl
rm
syscalls.h
2189
0644
edit
dl
rm
task_size_32.h
544
0644
edit
dl
rm
task_size_64.h
2390
0644
edit
dl
rm
tce.h
892
0644
edit
dl
rm
termios.h
653
0644
edit
dl
rm
thread_info.h
6166
0644
edit
dl
rm
time.h
2997
0644
edit
dl
rm
timex.h
463
0644
edit
dl
rm
tlb.h
2308
0644
edit
dl
rm
tlbflush.h
271
0644
edit
dl
rm
tm.h
624
0644
edit
dl
rm
topology.h
3536
0644
edit
dl
rm
trace.h
4695
0644
edit
dl
rm
trace_clock.h
372
0644
edit
dl
rm
tsi108.h
3264
0644
edit
dl
rm
tsi108_irq.h
3916
0644
edit
dl
rm
tsi108_pci.h
1191
0644
edit
dl
rm
types.h
822
0644
edit
dl
rm
uaccess.h
14207
0644
edit
dl
rm
udbg.h
2003
0644
edit
dl
rm
uic.h
403
0644
edit
dl
rm
ultravisor-api.h
941
0644
edit
dl
rm
ultravisor.h
2101
0644
edit
dl
rm
uninorth.h
8410
0644
edit
dl
rm
unistd.h
1445
0644
edit
dl
rm
uprobes.h
801
0644
edit
dl
rm
user.h
2192
0644
edit
dl
rm
vas.h
7580
0644
edit
dl
rm
vdso.h
1096
0644
edit
dl
rm
vdso_datapage.h
3570
0644
edit
dl
rm
vermagic.h
490
0644
edit
dl
rm
vga.h
1273
0644
edit
dl
rm
vio.h
4734
0644
edit
dl
rm
vmalloc.h
554
0644
edit
dl
rm
word-at-a-time.h
4878
0644
edit
dl
rm
xics.h
4539
0644
edit
dl
rm
xive-regs.h
5083
0644
edit
dl
rm
xive.h
5191
0644
edit
dl
rm
xmon.h
733
0644
edit
dl
rm
xor.h
1017
0644
edit
dl
rm
xor_altivec.h
683
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/arch/powerpc/include/asm/pmac_feature.h
(13396B)
/* * Definition of platform feature hooks for PowerMacs * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1998 Paul Mackerras & * Ben. Herrenschmidt. * * * Note: I removed media-bay details from the feature stuff, I believe it's * not worth it, the media-bay driver can directly use the mac-io * ASIC registers. * * Implementation note: Currently, none of these functions will block. * However, they may internally protect themselves with a spinlock * for way too long. Be prepared for at least some of these to block * in the future. * * Unless specifically defined, the result code is assumed to be an * error when negative, 0 is the default success result. Some functions * may return additional positive result values. * * To keep implementation simple, all feature calls are assumed to have * the prototype parameters (struct device_node* node, int value). * When either is not used, pass 0. */ #ifdef __KERNEL__ #ifndef __ASM_POWERPC_PMAC_FEATURE_H #define __ASM_POWERPC_PMAC_FEATURE_H #include <asm/macio.h> #include <asm/machdep.h> /* * Known Mac motherboard models * * Please, report any error here to benh@kernel.crashing.org, thanks ! * * Note that I don't fully maintain this list for Core99 & MacRISC2 * and I'm considering removing all NewWorld entries from it and * entirely rely on the model string. */ /* PowerSurge are the first generation of PCI Pmacs. This include * all of the Grand-Central based machines. We currently don't * differentiate most of them. */ #define PMAC_TYPE_PSURGE 0x10 /* PowerSurge */ #define PMAC_TYPE_ANS 0x11 /* Apple Network Server */ /* Here is the infamous serie of OHare based machines */ #define PMAC_TYPE_COMET 0x20 /* Believed to be PowerBook 2400 */ #define PMAC_TYPE_HOOPER 0x21 /* Believed to be PowerBook 3400 */ #define PMAC_TYPE_KANGA 0x22 /* PowerBook 3500 (first G3) */ #define PMAC_TYPE_ALCHEMY 0x23 /* Alchemy motherboard base */ #define PMAC_TYPE_GAZELLE 0x24 /* Spartacus, some 5xxx/6xxx */ #define PMAC_TYPE_UNKNOWN_OHARE 0x2f /* Unknown, but OHare based */ /* Here are the Heathrow based machines * FIXME: Differenciate wallstreet,mainstreet,wallstreetII */ #define PMAC_TYPE_GOSSAMER 0x30 /* Gossamer motherboard */ #define PMAC_TYPE_SILK 0x31 /* Desktop PowerMac G3 */ #define PMAC_TYPE_WALLSTREET 0x32 /* Wallstreet/Mainstreet PowerBook*/ #define PMAC_TYPE_UNKNOWN_HEATHROW 0x3f /* Unknown but heathrow based */ /* Here are newworld machines based on Paddington (heathrow derivative) */ #define PMAC_TYPE_101_PBOOK 0x40 /* 101 PowerBook (aka Lombard) */ #define PMAC_TYPE_ORIG_IMAC 0x41 /* First generation iMac */ #define PMAC_TYPE_YOSEMITE 0x42 /* B&W G3 */ #define PMAC_TYPE_YIKES 0x43 /* Yikes G4 (PCI graphics) */ #define PMAC_TYPE_UNKNOWN_PADDINGTON 0x4f /* Unknown but paddington based */ /* Core99 machines based on UniNorth 1.0 and 1.5 * * Note: A single entry here may cover several actual models according * to the device-tree. (Sawtooth is most tower G4s, FW_IMAC is most * FireWire based iMacs, etc...). Those machines are too similar to be * distinguished here, when they need to be differencied, use the * device-tree "model" or "compatible" property. */ #define PMAC_TYPE_ORIG_IBOOK 0x40 /* First iBook model (no firewire) */ #define PMAC_TYPE_SAWTOOTH 0x41 /* Desktop G4s */ #define PMAC_TYPE_FW_IMAC 0x42 /* FireWire iMacs (except Pangea based) */ #define PMAC_TYPE_FW_IBOOK 0x43 /* FireWire iBooks (except iBook2) */ #define PMAC_TYPE_CUBE 0x44 /* Cube PowerMac */ #define PMAC_TYPE_QUICKSILVER 0x45 /* QuickSilver G4s */ #define PMAC_TYPE_PISMO 0x46 /* Pismo PowerBook */ #define PMAC_TYPE_TITANIUM 0x47 /* Titanium PowerBook */ #define PMAC_TYPE_TITANIUM2 0x48 /* Titanium II PowerBook (no L3, M6) */ #define PMAC_TYPE_TITANIUM3 0x49 /* Titanium III PowerBook (with L3 & M7) */ #define PMAC_TYPE_TITANIUM4 0x50 /* Titanium IV PowerBook (with L3 & M9) */ #define PMAC_TYPE_EMAC 0x50 /* eMac */ #define PMAC_TYPE_UNKNOWN_CORE99 0x5f /* MacRisc2 with UniNorth 2.0 */ #define PMAC_TYPE_RACKMAC 0x80 /* XServe */ #define PMAC_TYPE_WINDTUNNEL 0x81 /* MacRISC2 machines based on the Pangea chipset */ #define PMAC_TYPE_PANGEA_IMAC 0x100 /* Flower Power iMac */ #define PMAC_TYPE_IBOOK2 0x101 /* iBook2 (polycarbonate) */ #define PMAC_TYPE_FLAT_PANEL_IMAC 0x102 /* Flat panel iMac */ #define PMAC_TYPE_UNKNOWN_PANGEA 0x10f /* MacRISC2 machines based on the Intrepid chipset */ #define PMAC_TYPE_UNKNOWN_INTREPID 0x11f /* Generic */ /* MacRISC4 / G5 machines. We don't have per-machine selection here anymore, * but rather machine families */ #define PMAC_TYPE_POWERMAC_G5 0x150 /* U3 & U3H based */ #define PMAC_TYPE_POWERMAC_G5_U3L 0x151 /* U3L based desktop */ #define PMAC_TYPE_IMAC_G5 0x152 /* iMac G5 */ #define PMAC_TYPE_XSERVE_G5 0x153 /* Xserve G5 */ #define PMAC_TYPE_UNKNOWN_K2 0x19f /* Any other K2 based */ #define PMAC_TYPE_UNKNOWN_SHASTA 0x19e /* Any other Shasta based */ /* * Motherboard flags */ #define PMAC_MB_CAN_SLEEP 0x00000001 #define PMAC_MB_HAS_FW_POWER 0x00000002 #define PMAC_MB_OLD_CORE99 0x00000004 #define PMAC_MB_MOBILE 0x00000008 #define PMAC_MB_MAY_SLEEP 0x00000010 /* * Feature calls supported on pmac * */ /* * Use this inline wrapper */ struct device_node; static inline long pmac_call_feature(int selector, struct device_node* node, long param, long value) { if (!ppc_md.feature_call || !machine_is(powermac)) return -ENODEV; return ppc_md.feature_call(selector, node, param, value); } /* PMAC_FTR_SERIAL_ENABLE (struct device_node* node, int param, int value) * enable/disable an SCC side. Pass the node corresponding to the * channel side as a parameter. * param is the type of port * if param is ored with PMAC_SCC_FLAG_XMON, then the SCC is locked enabled * for use by xmon. */ #define PMAC_FTR_SCC_ENABLE PMAC_FTR_DEF(0) #define PMAC_SCC_ASYNC 0 #define PMAC_SCC_IRDA 1 #define PMAC_SCC_I2S1 2 #define PMAC_SCC_FLAG_XMON 0x00001000 /* PMAC_FTR_MODEM_ENABLE (struct device_node* node, 0, int value) * enable/disable the internal modem. */ #define PMAC_FTR_MODEM_ENABLE PMAC_FTR_DEF(1) /* PMAC_FTR_SWIM3_ENABLE (struct device_node* node, 0,int value) * enable/disable the swim3 (floppy) cell of a mac-io ASIC */ #define PMAC_FTR_SWIM3_ENABLE PMAC_FTR_DEF(2) /* PMAC_FTR_MESH_ENABLE (struct device_node* node, 0, int value) * enable/disable the mesh (scsi) cell of a mac-io ASIC */ #define PMAC_FTR_MESH_ENABLE PMAC_FTR_DEF(3) /* PMAC_FTR_IDE_ENABLE (struct device_node* node, int busID, int value) * enable/disable an IDE port of a mac-io ASIC * pass the busID parameter */ #define PMAC_FTR_IDE_ENABLE PMAC_FTR_DEF(4) /* PMAC_FTR_IDE_RESET (struct device_node* node, int busID, int value) * assert(1)/release(0) an IDE reset line (mac-io IDE only) */ #define PMAC_FTR_IDE_RESET PMAC_FTR_DEF(5) /* PMAC_FTR_BMAC_ENABLE (struct device_node* node, 0, int value) * enable/disable the bmac (ethernet) cell of a mac-io ASIC, also drive * it's reset line */ #define PMAC_FTR_BMAC_ENABLE PMAC_FTR_DEF(6) /* PMAC_FTR_GMAC_ENABLE (struct device_node* node, 0, int value) * enable/disable the gmac (ethernet) cell of an uninorth ASIC. This * control the cell's clock. */ #define PMAC_FTR_GMAC_ENABLE PMAC_FTR_DEF(7) /* PMAC_FTR_GMAC_PHY_RESET (struct device_node* node, 0, 0) * Perform a HW reset of the PHY connected to a gmac controller. * Pass the gmac device node, not the PHY node. */ #define PMAC_FTR_GMAC_PHY_RESET PMAC_FTR_DEF(8) /* PMAC_FTR_SOUND_CHIP_ENABLE (struct device_node* node, 0, int value) * enable/disable the sound chip, whatever it is and provided it can * actually be controlled */ #define PMAC_FTR_SOUND_CHIP_ENABLE PMAC_FTR_DEF(9) /* -- add various tweaks related to sound routing -- */ /* PMAC_FTR_AIRPORT_ENABLE (struct device_node* node, 0, int value) * enable/disable the airport card */ #define PMAC_FTR_AIRPORT_ENABLE PMAC_FTR_DEF(10) /* PMAC_FTR_RESET_CPU (NULL, int cpu_nr, 0) * toggle the reset line of a CPU on an uninorth-based SMP machine */ #define PMAC_FTR_RESET_CPU PMAC_FTR_DEF(11) /* PMAC_FTR_USB_ENABLE (struct device_node* node, 0, int value) * enable/disable an USB cell, along with the power of the USB "pad" * on keylargo based machines */ #define PMAC_FTR_USB_ENABLE PMAC_FTR_DEF(12) /* PMAC_FTR_1394_ENABLE (struct device_node* node, 0, int value) * enable/disable the firewire cell of an uninorth ASIC. */ #define PMAC_FTR_1394_ENABLE PMAC_FTR_DEF(13) /* PMAC_FTR_1394_CABLE_POWER (struct device_node* node, 0, int value) * enable/disable the firewire cable power supply of the uninorth * firewire cell */ #define PMAC_FTR_1394_CABLE_POWER PMAC_FTR_DEF(14) /* PMAC_FTR_SLEEP_STATE (struct device_node* node, 0, int value) * set the sleep state of the motherboard. * * Pass -1 as value to query for sleep capability * Pass 1 to set IOs to sleep * Pass 0 to set IOs to wake */ #define PMAC_FTR_SLEEP_STATE PMAC_FTR_DEF(15) /* PMAC_FTR_GET_MB_INFO (NULL, selector, 0) * * returns some motherboard infos. * selector: 0 - model id * 1 - model flags (capabilities) * 2 - model name (cast to const char *) */ #define PMAC_FTR_GET_MB_INFO PMAC_FTR_DEF(16) #define PMAC_MB_INFO_MODEL 0 #define PMAC_MB_INFO_FLAGS 1 #define PMAC_MB_INFO_NAME 2 /* PMAC_FTR_READ_GPIO (NULL, int index, 0) * * read a GPIO from a mac-io controller of type KeyLargo or Pangea. * the value returned is a byte (positive), or a negative error code */ #define PMAC_FTR_READ_GPIO PMAC_FTR_DEF(17) /* PMAC_FTR_WRITE_GPIO (NULL, int index, int value) * * write a GPIO of a mac-io controller of type KeyLargo or Pangea. */ #define PMAC_FTR_WRITE_GPIO PMAC_FTR_DEF(18) /* PMAC_FTR_ENABLE_MPIC * * Enable the MPIC cell */ #define PMAC_FTR_ENABLE_MPIC PMAC_FTR_DEF(19) /* PMAC_FTR_AACK_DELAY_ENABLE (NULL, int enable, 0) * * Enable/disable the AACK delay on the northbridge for systems using DFS */ #define PMAC_FTR_AACK_DELAY_ENABLE PMAC_FTR_DEF(20) /* PMAC_FTR_DEVICE_CAN_WAKE * * Used by video drivers to inform system that they can actually perform * wakeup from sleep */ #define PMAC_FTR_DEVICE_CAN_WAKE PMAC_FTR_DEF(22) /* Don't use those directly, they are for the sake of pmac_setup.c */ extern long pmac_do_feature_call(unsigned int selector, ...); extern void pmac_feature_init(void); /* Video suspend tweak */ extern void pmac_set_early_video_resume(void (*proc)(void *data), void *data); extern void pmac_call_early_video_resume(void); #define PMAC_FTR_DEF(x) ((0x6660000) | (x)) /* The AGP driver registers itself here */ extern void pmac_register_agp_pm(struct pci_dev *bridge, int (*suspend)(struct pci_dev *bridge), int (*resume)(struct pci_dev *bridge)); /* Those are meant to be used by video drivers to deal with AGP * suspend resume properly */ extern void pmac_suspend_agp_for_card(struct pci_dev *dev); extern void pmac_resume_agp_for_card(struct pci_dev *dev); /* * The part below is for use by macio_asic.c only, do not rely * on the data structures or constants below in a normal driver * */ #define MAX_MACIO_CHIPS 2 enum { macio_unknown = 0, macio_grand_central, macio_ohare, macio_ohareII, macio_heathrow, macio_gatwick, macio_paddington, macio_keylargo, macio_pangea, macio_intrepid, macio_keylargo2, macio_shasta, }; struct macio_chip { struct device_node *of_node; int type; const char *name; int rev; volatile u32 __iomem *base; unsigned long flags; /* For use by macio_asic PCI driver */ struct macio_bus lbus; }; extern struct macio_chip macio_chips[MAX_MACIO_CHIPS]; #define MACIO_FLAG_SCCA_ON 0x00000001 #define MACIO_FLAG_SCCB_ON 0x00000002 #define MACIO_FLAG_SCC_LOCKED 0x00000004 #define MACIO_FLAG_AIRPORT_ON 0x00000010 #define MACIO_FLAG_FW_SUPPORTED 0x00000020 extern struct macio_chip* macio_find(struct device_node* child, int type); #define MACIO_FCR32(macio, r) ((macio)->base + ((r) >> 2)) #define MACIO_FCR8(macio, r) (((volatile u8 __iomem *)((macio)->base)) + (r)) #define MACIO_IN32(r) (in_le32(MACIO_FCR32(macio,r))) #define MACIO_OUT32(r,v) (out_le32(MACIO_FCR32(macio,r), (v))) #define MACIO_BIS(r,v) (MACIO_OUT32((r), MACIO_IN32(r) | (v))) #define MACIO_BIC(r,v) (MACIO_OUT32((r), MACIO_IN32(r) & ~(v))) #define MACIO_IN8(r) (in_8(MACIO_FCR8(macio,r))) #define MACIO_OUT8(r,v) (out_8(MACIO_FCR8(macio,r), (v))) /* * Those are exported by pmac feature for internal use by arch code * only like the platform function callbacks, do not use directly in drivers */ extern raw_spinlock_t feature_lock; extern struct device_node *uninorth_node; extern u32 __iomem *uninorth_base; /* * Uninorth reg. access. Note that Uni-N regs are big endian */ #define UN_REG(r) (uninorth_base + ((r) >> 2)) #define UN_IN(r) (in_be32(UN_REG(r))) #define UN_OUT(r,v) (out_be32(UN_REG(r), (v))) #define UN_BIS(r,v) (UN_OUT((r), UN_IN(r) | (v))) #define UN_BIC(r,v) (UN_OUT((r), UN_IN(r) & ~(v))) /* Uninorth variant: * * 0 = not uninorth * 1 = U1.x or U2.x * 3 = U3 * 4 = U4 */ extern int pmac_get_uninorth_variant(void); #endif /* __ASM_POWERPC_PMAC_FEATURE_H */ #endif /* __KERNEL__ */
Save
cmd:
run