File indexing completed on 2025-05-11 08:23:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154 #ifndef __AMLRESRC_H
0155 #define __AMLRESRC_H
0156
0157
0158
0159
0160
0161
0162 #define ACPI_RESTAG_ADDRESS "_ADR"
0163 #define ACPI_RESTAG_ALIGNMENT "_ALN"
0164 #define ACPI_RESTAG_ADDRESSSPACE "_ASI"
0165 #define ACPI_RESTAG_ACCESSSIZE "_ASZ"
0166 #define ACPI_RESTAG_TYPESPECIFICATTRIBUTES "_ATT"
0167 #define ACPI_RESTAG_BASEADDRESS "_BAS"
0168 #define ACPI_RESTAG_BUSMASTER "_BM_"
0169 #define ACPI_RESTAG_DEBOUNCETIME "_DBT"
0170 #define ACPI_RESTAG_DECODE "_DEC"
0171 #define ACPI_RESTAG_DEVICEPOLARITY "_DPL"
0172 #define ACPI_RESTAG_DMA "_DMA"
0173 #define ACPI_RESTAG_DMATYPE "_TYP"
0174 #define ACPI_RESTAG_DRIVESTRENGTH "_DRS"
0175 #define ACPI_RESTAG_ENDIANNESS "_END"
0176 #define ACPI_RESTAG_FLOWCONTROL "_FLC"
0177 #define ACPI_RESTAG_FUNCTION "_FUN"
0178 #define ACPI_RESTAG_GRANULARITY "_GRA"
0179 #define ACPI_RESTAG_INTERRUPT "_INT"
0180 #define ACPI_RESTAG_INTERRUPTLEVEL "_LL_"
0181 #define ACPI_RESTAG_INTERRUPTSHARE "_SHR"
0182 #define ACPI_RESTAG_INTERRUPTTYPE "_HE_"
0183 #define ACPI_RESTAG_IORESTRICTION "_IOR"
0184 #define ACPI_RESTAG_LENGTH "_LEN"
0185 #define ACPI_RESTAG_LINE "_LIN"
0186 #define ACPI_RESTAG_LOCALPORT "_PRT"
0187 #define ACPI_RESTAG_MEMATTRIBUTES "_MTP"
0188 #define ACPI_RESTAG_MEMTYPE "_MEM"
0189 #define ACPI_RESTAG_MAXADDR "_MAX"
0190 #define ACPI_RESTAG_MINADDR "_MIN"
0191 #define ACPI_RESTAG_MAXTYPE "_MAF"
0192 #define ACPI_RESTAG_MINTYPE "_MIF"
0193 #define ACPI_RESTAG_MODE "_MOD"
0194 #define ACPI_RESTAG_PARITY "_PAR"
0195 #define ACPI_RESTAG_PHASE "_PHA"
0196 #define ACPI_RESTAG_PHYTYPE "_PHY"
0197 #define ACPI_RESTAG_PIN "_PIN"
0198 #define ACPI_RESTAG_PINCONFIG "_PPI"
0199 #define ACPI_RESTAG_PINCONFIG_TYPE "_TYP"
0200 #define ACPI_RESTAG_PINCONFIG_VALUE "_VAL"
0201 #define ACPI_RESTAG_POLARITY "_POL"
0202 #define ACPI_RESTAG_REGISTERBITOFFSET "_RBO"
0203 #define ACPI_RESTAG_REGISTERBITWIDTH "_RBW"
0204 #define ACPI_RESTAG_RANGETYPE "_RNG"
0205 #define ACPI_RESTAG_READWRITETYPE "_RW_"
0206 #define ACPI_RESTAG_LENGTH_RX "_RXL"
0207 #define ACPI_RESTAG_LENGTH_TX "_TXL"
0208 #define ACPI_RESTAG_SLAVEMODE "_SLV"
0209 #define ACPI_RESTAG_SPEED "_SPE"
0210 #define ACPI_RESTAG_STOPBITS "_STB"
0211 #define ACPI_RESTAG_TRANSLATION "_TRA"
0212 #define ACPI_RESTAG_TRANSTYPE "_TRS"
0213 #define ACPI_RESTAG_TYPE "_TTP"
0214 #define ACPI_RESTAG_XFERTYPE "_SIZ"
0215 #define ACPI_RESTAG_VENDORDATA "_VEN"
0216 #define ACPI_RESTAG_FQN "_FQN"
0217 #define ACPI_RESTAG_FQD "_FQD"
0218
0219
0220
0221
0222 #define ASL_RDESC_IRQ_SIZE 0x02
0223 #define ASL_RDESC_DMA_SIZE 0x02
0224 #define ASL_RDESC_ST_DEPEND_SIZE 0x00
0225 #define ASL_RDESC_END_DEPEND_SIZE 0x00
0226 #define ASL_RDESC_IO_SIZE 0x07
0227 #define ASL_RDESC_FIXED_IO_SIZE 0x03
0228 #define ASL_RDESC_FIXED_DMA_SIZE 0x05
0229 #define ASL_RDESC_END_TAG_SIZE 0x01
0230
0231
0232 typedef struct asl_resource_node
0233 {
0234 UINT32 BufferLength;
0235 void *Buffer;
0236 struct asl_resource_node *Next;
0237
0238 } ASL_RESOURCE_NODE;
0239
0240 typedef struct asl_resource_info
0241 {
0242 ACPI_PARSE_OBJECT *DescriptorTypeOp;
0243 ACPI_PARSE_OBJECT *MappingOp;
0244 UINT32 CurrentByteOffset;
0245
0246 } ASL_RESOURCE_INFO;
0247
0248
0249
0250
0251 #define ACPI_AML_SIZE_LARGE(r) (sizeof (r) - sizeof (AML_RESOURCE_LARGE_HEADER))
0252 #define ACPI_AML_SIZE_SMALL(r) (sizeof (r) - sizeof (AML_RESOURCE_SMALL_HEADER))
0253
0254
0255
0256
0257
0258
0259
0260 #pragma pack(1)
0261
0262
0263
0264
0265 #define AML_RESOURCE_SMALL_HEADER_COMMON \
0266 UINT8 DescriptorType;
0267
0268 typedef struct aml_resource_small_header
0269 {
0270 AML_RESOURCE_SMALL_HEADER_COMMON
0271
0272 } AML_RESOURCE_SMALL_HEADER;
0273
0274
0275 typedef struct aml_resource_irq
0276 {
0277 AML_RESOURCE_SMALL_HEADER_COMMON
0278 UINT16 IrqMask;
0279 UINT8 Flags;
0280
0281 } AML_RESOURCE_IRQ;
0282
0283
0284 typedef struct aml_resource_irq_noflags
0285 {
0286 AML_RESOURCE_SMALL_HEADER_COMMON
0287 UINT16 IrqMask;
0288
0289 } AML_RESOURCE_IRQ_NOFLAGS;
0290
0291
0292 typedef struct aml_resource_dma
0293 {
0294 AML_RESOURCE_SMALL_HEADER_COMMON
0295 UINT8 DmaChannelMask;
0296 UINT8 Flags;
0297
0298 } AML_RESOURCE_DMA;
0299
0300
0301 typedef struct aml_resource_start_dependent
0302 {
0303 AML_RESOURCE_SMALL_HEADER_COMMON
0304 UINT8 Flags;
0305
0306 } AML_RESOURCE_START_DEPENDENT;
0307
0308
0309 typedef struct aml_resource_start_dependent_noprio
0310 {
0311 AML_RESOURCE_SMALL_HEADER_COMMON
0312
0313 } AML_RESOURCE_START_DEPENDENT_NOPRIO;
0314
0315
0316 typedef struct aml_resource_end_dependent
0317 {
0318 AML_RESOURCE_SMALL_HEADER_COMMON
0319
0320 } AML_RESOURCE_END_DEPENDENT;
0321
0322
0323 typedef struct aml_resource_io
0324 {
0325 AML_RESOURCE_SMALL_HEADER_COMMON
0326 UINT8 Flags;
0327 UINT16 Minimum;
0328 UINT16 Maximum;
0329 UINT8 Alignment;
0330 UINT8 AddressLength;
0331
0332 } AML_RESOURCE_IO;
0333
0334
0335 typedef struct aml_resource_fixed_io
0336 {
0337 AML_RESOURCE_SMALL_HEADER_COMMON
0338 UINT16 Address;
0339 UINT8 AddressLength;
0340
0341 } AML_RESOURCE_FIXED_IO;
0342
0343
0344 typedef struct aml_resource_vendor_small
0345 {
0346 AML_RESOURCE_SMALL_HEADER_COMMON
0347
0348 } AML_RESOURCE_VENDOR_SMALL;
0349
0350
0351 typedef struct aml_resource_end_tag
0352 {
0353 AML_RESOURCE_SMALL_HEADER_COMMON
0354 UINT8 Checksum;
0355
0356 } AML_RESOURCE_END_TAG;
0357
0358
0359 typedef struct aml_resource_fixed_dma
0360 {
0361 AML_RESOURCE_SMALL_HEADER_COMMON
0362 UINT16 RequestLines;
0363 UINT16 Channels;
0364 UINT8 Width;
0365
0366 } AML_RESOURCE_FIXED_DMA;
0367
0368
0369
0370
0371
0372 #define AML_RESOURCE_LARGE_HEADER_COMMON \
0373 UINT8 DescriptorType;\
0374 UINT16 ResourceLength;
0375
0376 typedef struct aml_resource_large_header
0377 {
0378 AML_RESOURCE_LARGE_HEADER_COMMON
0379
0380 } AML_RESOURCE_LARGE_HEADER;
0381
0382
0383
0384
0385 #define ACPI_RESOURCE_FLAG_DEC 2
0386 #define ACPI_RESOURCE_FLAG_MIF 4
0387 #define ACPI_RESOURCE_FLAG_MAF 8
0388
0389 typedef struct aml_resource_memory24
0390 {
0391 AML_RESOURCE_LARGE_HEADER_COMMON
0392 UINT8 Flags;
0393 UINT16 Minimum;
0394 UINT16 Maximum;
0395 UINT16 Alignment;
0396 UINT16 AddressLength;
0397
0398 } AML_RESOURCE_MEMORY24;
0399
0400
0401 typedef struct aml_resource_vendor_large
0402 {
0403 AML_RESOURCE_LARGE_HEADER_COMMON
0404
0405 } AML_RESOURCE_VENDOR_LARGE;
0406
0407
0408 typedef struct aml_resource_memory32
0409 {
0410 AML_RESOURCE_LARGE_HEADER_COMMON
0411 UINT8 Flags;
0412 UINT32 Minimum;
0413 UINT32 Maximum;
0414 UINT32 Alignment;
0415 UINT32 AddressLength;
0416
0417 } AML_RESOURCE_MEMORY32;
0418
0419
0420 typedef struct aml_resource_fixed_memory32
0421 {
0422 AML_RESOURCE_LARGE_HEADER_COMMON
0423 UINT8 Flags;
0424 UINT32 Address;
0425 UINT32 AddressLength;
0426
0427 } AML_RESOURCE_FIXED_MEMORY32;
0428
0429
0430 #define AML_RESOURCE_ADDRESS_COMMON \
0431 UINT8 ResourceType; \
0432 UINT8 Flags; \
0433 UINT8 SpecificFlags;
0434
0435
0436 typedef struct aml_resource_address
0437 {
0438 AML_RESOURCE_LARGE_HEADER_COMMON
0439 AML_RESOURCE_ADDRESS_COMMON
0440
0441 } AML_RESOURCE_ADDRESS;
0442
0443
0444 typedef struct aml_resource_extended_address64
0445 {
0446 AML_RESOURCE_LARGE_HEADER_COMMON
0447 AML_RESOURCE_ADDRESS_COMMON
0448 UINT8 RevisionID;
0449 UINT8 Reserved;
0450 UINT64 Granularity;
0451 UINT64 Minimum;
0452 UINT64 Maximum;
0453 UINT64 TranslationOffset;
0454 UINT64 AddressLength;
0455 UINT64 TypeSpecific;
0456
0457 } AML_RESOURCE_EXTENDED_ADDRESS64;
0458
0459 #define AML_RESOURCE_EXTENDED_ADDRESS_REVISION 1
0460
0461
0462 typedef struct aml_resource_address64
0463 {
0464 AML_RESOURCE_LARGE_HEADER_COMMON
0465 AML_RESOURCE_ADDRESS_COMMON
0466 UINT64 Granularity;
0467 UINT64 Minimum;
0468 UINT64 Maximum;
0469 UINT64 TranslationOffset;
0470 UINT64 AddressLength;
0471
0472 } AML_RESOURCE_ADDRESS64;
0473
0474
0475 typedef struct aml_resource_address32
0476 {
0477 AML_RESOURCE_LARGE_HEADER_COMMON
0478 AML_RESOURCE_ADDRESS_COMMON
0479 UINT32 Granularity;
0480 UINT32 Minimum;
0481 UINT32 Maximum;
0482 UINT32 TranslationOffset;
0483 UINT32 AddressLength;
0484
0485 } AML_RESOURCE_ADDRESS32;
0486
0487
0488 typedef struct aml_resource_address16
0489 {
0490 AML_RESOURCE_LARGE_HEADER_COMMON
0491 AML_RESOURCE_ADDRESS_COMMON
0492 UINT16 Granularity;
0493 UINT16 Minimum;
0494 UINT16 Maximum;
0495 UINT16 TranslationOffset;
0496 UINT16 AddressLength;
0497
0498 } AML_RESOURCE_ADDRESS16;
0499
0500
0501 typedef struct aml_resource_extended_irq
0502 {
0503 AML_RESOURCE_LARGE_HEADER_COMMON
0504 UINT8 Flags;
0505 UINT8 InterruptCount;
0506 union {
0507 UINT32 Interrupt;
0508 ACPI_FLEX_ARRAY(UINT32, Interrupts);
0509 };
0510
0511
0512 } AML_RESOURCE_EXTENDED_IRQ;
0513
0514
0515 typedef struct aml_resource_generic_register
0516 {
0517 AML_RESOURCE_LARGE_HEADER_COMMON
0518 UINT8 AddressSpaceId;
0519 UINT8 BitWidth;
0520 UINT8 BitOffset;
0521 UINT8 AccessSize;
0522 UINT64 Address;
0523
0524 } AML_RESOURCE_GENERIC_REGISTER;
0525
0526
0527
0528
0529 typedef struct aml_resource_gpio
0530 {
0531 AML_RESOURCE_LARGE_HEADER_COMMON
0532 UINT8 RevisionId;
0533 UINT8 ConnectionType;
0534 UINT16 Flags;
0535 UINT16 IntFlags;
0536 UINT8 PinConfig;
0537 UINT16 DriveStrength;
0538 UINT16 DebounceTimeout;
0539 UINT16 PinTableOffset;
0540 UINT8 ResSourceIndex;
0541 UINT16 ResSourceOffset;
0542 UINT16 VendorOffset;
0543 UINT16 VendorLength;
0544
0545
0546
0547
0548
0549
0550
0551 } AML_RESOURCE_GPIO;
0552
0553 #define AML_RESOURCE_GPIO_REVISION 1
0554
0555
0556
0557 #define AML_RESOURCE_GPIO_TYPE_INT 0
0558 #define AML_RESOURCE_GPIO_TYPE_IO 1
0559 #define AML_RESOURCE_MAX_GPIOTYPE 1
0560
0561
0562
0563
0564 #define AML_RESOURCE_SERIAL_COMMON \
0565 UINT8 RevisionId; \
0566 UINT8 ResSourceIndex; \
0567 UINT8 Type; \
0568 UINT8 Flags; \
0569 UINT16 TypeSpecificFlags; \
0570 UINT8 TypeRevisionId; \
0571 UINT16 TypeDataLength; \
0572
0573
0574
0575 #define AML_RESOURCE_I2C_SERIALBUSTYPE 1
0576 #define AML_RESOURCE_SPI_SERIALBUSTYPE 2
0577 #define AML_RESOURCE_UART_SERIALBUSTYPE 3
0578 #define AML_RESOURCE_CSI2_SERIALBUSTYPE 4
0579 #define AML_RESOURCE_MAX_SERIALBUSTYPE 4
0580 #define AML_RESOURCE_VENDOR_SERIALBUSTYPE 192
0581
0582 typedef struct aml_resource_common_serialbus
0583 {
0584 AML_RESOURCE_LARGE_HEADER_COMMON
0585 AML_RESOURCE_SERIAL_COMMON
0586
0587 } AML_RESOURCE_COMMON_SERIALBUS;
0588
0589
0590 typedef struct aml_resource_csi2_serialbus
0591 {
0592 AML_RESOURCE_LARGE_HEADER_COMMON
0593 AML_RESOURCE_SERIAL_COMMON
0594
0595
0596
0597
0598
0599
0600
0601 } AML_RESOURCE_CSI2_SERIALBUS;
0602
0603 #define AML_RESOURCE_CSI2_REVISION 1
0604 #define AML_RESOURCE_CSI2_TYPE_REVISION 1
0605 #define AML_RESOURCE_CSI2_MIN_DATA_LEN 0
0606
0607 typedef struct aml_resource_i2c_serialbus
0608 {
0609 AML_RESOURCE_LARGE_HEADER_COMMON
0610 AML_RESOURCE_SERIAL_COMMON
0611 UINT32 ConnectionSpeed;
0612 UINT16 SlaveAddress;
0613
0614
0615
0616
0617
0618
0619 } AML_RESOURCE_I2C_SERIALBUS;
0620
0621 #define AML_RESOURCE_I2C_REVISION 1
0622 #define AML_RESOURCE_I2C_TYPE_REVISION 1
0623 #define AML_RESOURCE_I2C_MIN_DATA_LEN 6
0624
0625 typedef struct aml_resource_spi_serialbus
0626 {
0627 AML_RESOURCE_LARGE_HEADER_COMMON
0628 AML_RESOURCE_SERIAL_COMMON
0629 UINT32 ConnectionSpeed;
0630 UINT8 DataBitLength;
0631 UINT8 ClockPhase;
0632 UINT8 ClockPolarity;
0633 UINT16 DeviceSelection;
0634
0635
0636
0637
0638
0639
0640 } AML_RESOURCE_SPI_SERIALBUS;
0641
0642 #define AML_RESOURCE_SPI_REVISION 1
0643 #define AML_RESOURCE_SPI_TYPE_REVISION 1
0644 #define AML_RESOURCE_SPI_MIN_DATA_LEN 9
0645
0646 typedef struct aml_resource_uart_serialbus
0647 {
0648 AML_RESOURCE_LARGE_HEADER_COMMON
0649 AML_RESOURCE_SERIAL_COMMON
0650 UINT32 DefaultBaudRate;
0651 UINT16 RxFifoSize;
0652 UINT16 TxFifoSize;
0653 UINT8 Parity;
0654 UINT8 LinesEnabled;
0655
0656
0657
0658
0659
0660
0661 } AML_RESOURCE_UART_SERIALBUS;
0662
0663 #define AML_RESOURCE_UART_REVISION 1
0664 #define AML_RESOURCE_UART_TYPE_REVISION 1
0665 #define AML_RESOURCE_UART_MIN_DATA_LEN 10
0666
0667 typedef struct aml_resource_pin_function
0668 {
0669 AML_RESOURCE_LARGE_HEADER_COMMON
0670 UINT8 RevisionId;
0671 UINT16 Flags;
0672 UINT8 PinConfig;
0673 UINT16 FunctionNumber;
0674 UINT16 PinTableOffset;
0675 UINT8 ResSourceIndex;
0676 UINT16 ResSourceOffset;
0677 UINT16 VendorOffset;
0678 UINT16 VendorLength;
0679
0680
0681
0682
0683
0684
0685
0686 } AML_RESOURCE_PIN_FUNCTION;
0687
0688 #define AML_RESOURCE_PIN_FUNCTION_REVISION 1
0689
0690 typedef struct aml_resource_pin_config
0691 {
0692 AML_RESOURCE_LARGE_HEADER_COMMON
0693 UINT8 RevisionId;
0694 UINT16 Flags;
0695 UINT8 PinConfigType;
0696 UINT32 PinConfigValue;
0697 UINT16 PinTableOffset;
0698 UINT8 ResSourceIndex;
0699 UINT16 ResSourceOffset;
0700 UINT16 VendorOffset;
0701 UINT16 VendorLength;
0702
0703
0704
0705
0706
0707
0708
0709 } AML_RESOURCE_PIN_CONFIG;
0710
0711 #define AML_RESOURCE_CLOCK_INPUT_REVISION 1
0712
0713 typedef struct aml_resource_clock_input
0714 {
0715 AML_RESOURCE_LARGE_HEADER_COMMON
0716 UINT8 RevisionId;
0717 UINT16 Flags;
0718 UINT16 FrequencyDivisor;
0719 UINT32 FrequencyNumerator;
0720
0721
0722
0723
0724
0725 } AML_RESOURCE_CLOCK_INPUT;
0726
0727
0728 #define AML_RESOURCE_PIN_CONFIG_REVISION 1
0729
0730 typedef struct aml_resource_pin_group
0731 {
0732 AML_RESOURCE_LARGE_HEADER_COMMON
0733 UINT8 RevisionId;
0734 UINT16 Flags;
0735 UINT16 PinTableOffset;
0736 UINT16 LabelOffset;
0737 UINT16 VendorOffset;
0738 UINT16 VendorLength;
0739
0740
0741
0742
0743
0744
0745
0746 } AML_RESOURCE_PIN_GROUP;
0747
0748 #define AML_RESOURCE_PIN_GROUP_REVISION 1
0749
0750 typedef struct aml_resource_pin_group_function
0751 {
0752 AML_RESOURCE_LARGE_HEADER_COMMON
0753 UINT8 RevisionId;
0754 UINT16 Flags;
0755 UINT16 FunctionNumber;
0756 UINT8 ResSourceIndex;
0757 UINT16 ResSourceOffset;
0758 UINT16 ResSourceLabelOffset;
0759 UINT16 VendorOffset;
0760 UINT16 VendorLength;
0761
0762
0763
0764
0765
0766
0767
0768 } AML_RESOURCE_PIN_GROUP_FUNCTION;
0769
0770 #define AML_RESOURCE_PIN_GROUP_FUNCTION_REVISION 1
0771
0772 typedef struct aml_resource_pin_group_config
0773 {
0774 AML_RESOURCE_LARGE_HEADER_COMMON
0775 UINT8 RevisionId;
0776 UINT16 Flags;
0777 UINT8 PinConfigType;
0778 UINT32 PinConfigValue;
0779 UINT8 ResSourceIndex;
0780 UINT16 ResSourceOffset;
0781 UINT16 ResSourceLabelOffset;
0782 UINT16 VendorOffset;
0783 UINT16 VendorLength;
0784
0785
0786
0787
0788
0789
0790
0791 } AML_RESOURCE_PIN_GROUP_CONFIG;
0792
0793 #define AML_RESOURCE_PIN_GROUP_CONFIG_REVISION 1
0794
0795
0796
0797 #pragma pack()
0798
0799
0800
0801 typedef union aml_resource
0802 {
0803
0804
0805 UINT8 DescriptorType;
0806 AML_RESOURCE_SMALL_HEADER SmallHeader;
0807 AML_RESOURCE_LARGE_HEADER LargeHeader;
0808
0809
0810
0811 AML_RESOURCE_IRQ Irq;
0812 AML_RESOURCE_DMA Dma;
0813 AML_RESOURCE_START_DEPENDENT StartDpf;
0814 AML_RESOURCE_END_DEPENDENT EndDpf;
0815 AML_RESOURCE_IO Io;
0816 AML_RESOURCE_FIXED_IO FixedIo;
0817 AML_RESOURCE_FIXED_DMA FixedDma;
0818 AML_RESOURCE_VENDOR_SMALL VendorSmall;
0819 AML_RESOURCE_END_TAG EndTag;
0820
0821
0822
0823 AML_RESOURCE_MEMORY24 Memory24;
0824 AML_RESOURCE_GENERIC_REGISTER GenericReg;
0825 AML_RESOURCE_VENDOR_LARGE VendorLarge;
0826 AML_RESOURCE_MEMORY32 Memory32;
0827 AML_RESOURCE_FIXED_MEMORY32 FixedMemory32;
0828 AML_RESOURCE_ADDRESS16 Address16;
0829 AML_RESOURCE_ADDRESS32 Address32;
0830 AML_RESOURCE_ADDRESS64 Address64;
0831 AML_RESOURCE_EXTENDED_ADDRESS64 ExtAddress64;
0832 AML_RESOURCE_EXTENDED_IRQ ExtendedIrq;
0833 AML_RESOURCE_GPIO Gpio;
0834 AML_RESOURCE_I2C_SERIALBUS I2cSerialBus;
0835 AML_RESOURCE_SPI_SERIALBUS SpiSerialBus;
0836 AML_RESOURCE_UART_SERIALBUS UartSerialBus;
0837 AML_RESOURCE_CSI2_SERIALBUS Csi2SerialBus;
0838 AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
0839 AML_RESOURCE_PIN_FUNCTION PinFunction;
0840 AML_RESOURCE_PIN_CONFIG PinConfig;
0841 AML_RESOURCE_PIN_GROUP PinGroup;
0842 AML_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction;
0843 AML_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig;
0844 AML_RESOURCE_CLOCK_INPUT ClockInput;
0845
0846
0847
0848 AML_RESOURCE_ADDRESS Address;
0849 UINT32 DwordItem;
0850 UINT16 WordItem;
0851 UINT8 ByteItem;
0852
0853 } AML_RESOURCE;
0854
0855
0856
0857
0858 void
0859 MpSaveGpioInfo (
0860 ACPI_PARSE_OBJECT *Op,
0861 AML_RESOURCE *Resource,
0862 UINT32 PinCount,
0863 UINT16 *PinList,
0864 char *DeviceName);
0865
0866 void
0867 MpSaveSerialInfo (
0868 ACPI_PARSE_OBJECT *Op,
0869 AML_RESOURCE *Resource,
0870 char *DeviceName);
0871
0872 char *
0873 MpGetHidFromParseTree (
0874 ACPI_NAMESPACE_NODE *HidNode);
0875
0876 char *
0877 MpGetHidViaNamestring (
0878 char *DeviceName);
0879
0880 char *
0881 MpGetConnectionInfo (
0882 ACPI_PARSE_OBJECT *Op,
0883 UINT32 PinIndex,
0884 ACPI_NAMESPACE_NODE **TargetNode,
0885 char **TargetName);
0886
0887 char *
0888 MpGetParentDeviceHid (
0889 ACPI_PARSE_OBJECT *Op,
0890 ACPI_NAMESPACE_NODE **TargetNode,
0891 char **ParentDeviceName);
0892
0893 char *
0894 MpGetDdnValue (
0895 char *DeviceName);
0896
0897 char *
0898 MpGetHidValue (
0899 ACPI_NAMESPACE_NODE *DeviceNode);
0900
0901 #endif