0001
0002
0003
0004
0005
0006
0007
0008 #include <acpi/acpi.h>
0009 #include "accommon.h"
0010 #include "acresrc.h"
0011
0012 #define _COMPONENT ACPI_RESOURCES
0013 ACPI_MODULE_NAME("rsserial")
0014
0015
0016
0017
0018
0019
0020 struct acpi_rsconvert_info acpi_rs_convert_gpio[18] = {
0021 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_GPIO,
0022 ACPI_RS_SIZE(struct acpi_resource_gpio),
0023 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_gpio)},
0024
0025 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_GPIO,
0026 sizeof(struct aml_resource_gpio),
0027 0},
0028
0029
0030
0031
0032
0033
0034 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.revision_id),
0035 AML_OFFSET(gpio.revision_id),
0036 2},
0037
0038 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.producer_consumer),
0039 AML_OFFSET(gpio.flags),
0040 0},
0041
0042 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.shareable),
0043 AML_OFFSET(gpio.int_flags),
0044 3},
0045
0046 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.wake_capable),
0047 AML_OFFSET(gpio.int_flags),
0048 4},
0049
0050 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.gpio.io_restriction),
0051 AML_OFFSET(gpio.int_flags),
0052 0},
0053
0054 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.gpio.triggering),
0055 AML_OFFSET(gpio.int_flags),
0056 0},
0057
0058 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.gpio.polarity),
0059 AML_OFFSET(gpio.int_flags),
0060 1},
0061
0062 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.pin_config),
0063 AML_OFFSET(gpio.pin_config),
0064 1},
0065
0066
0067
0068
0069
0070
0071 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.gpio.drive_strength),
0072 AML_OFFSET(gpio.drive_strength),
0073 2},
0074
0075
0076
0077 {ACPI_RSC_COUNT_GPIO_PIN, ACPI_RS_OFFSET(data.gpio.pin_table_length),
0078 AML_OFFSET(gpio.pin_table_offset),
0079 AML_OFFSET(gpio.res_source_offset)},
0080
0081 {ACPI_RSC_MOVE_GPIO_PIN, ACPI_RS_OFFSET(data.gpio.pin_table),
0082 AML_OFFSET(gpio.pin_table_offset),
0083 0},
0084
0085
0086
0087 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.gpio.resource_source.index),
0088 AML_OFFSET(gpio.res_source_index),
0089 1},
0090
0091 {ACPI_RSC_COUNT_GPIO_RES,
0092 ACPI_RS_OFFSET(data.gpio.resource_source.string_length),
0093 AML_OFFSET(gpio.res_source_offset),
0094 AML_OFFSET(gpio.vendor_offset)},
0095
0096 {ACPI_RSC_MOVE_GPIO_RES,
0097 ACPI_RS_OFFSET(data.gpio.resource_source.string_ptr),
0098 AML_OFFSET(gpio.res_source_offset),
0099 0},
0100
0101
0102
0103 {ACPI_RSC_COUNT_GPIO_VEN, ACPI_RS_OFFSET(data.gpio.vendor_length),
0104 AML_OFFSET(gpio.vendor_length),
0105 1},
0106
0107 {ACPI_RSC_MOVE_GPIO_RES, ACPI_RS_OFFSET(data.gpio.vendor_data),
0108 AML_OFFSET(gpio.vendor_offset),
0109 0},
0110 };
0111
0112
0113
0114
0115
0116
0117
0118 struct acpi_rsconvert_info acpi_rs_convert_pin_function[13] = {
0119 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_FUNCTION,
0120 ACPI_RS_SIZE(struct acpi_resource_pin_function),
0121 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_function)},
0122
0123 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_FUNCTION,
0124 sizeof(struct aml_resource_pin_function),
0125 0},
0126
0127 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_function.revision_id),
0128 AML_OFFSET(pin_function.revision_id),
0129 1},
0130
0131 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_function.shareable),
0132 AML_OFFSET(pin_function.flags),
0133 0},
0134
0135 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_function.pin_config),
0136 AML_OFFSET(pin_function.pin_config),
0137 1},
0138
0139 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.pin_function.function_number),
0140 AML_OFFSET(pin_function.function_number),
0141 2},
0142
0143
0144
0145
0146
0147
0148
0149
0150 {ACPI_RSC_COUNT_GPIO_PIN,
0151 ACPI_RS_OFFSET(data.pin_function.pin_table_length),
0152 AML_OFFSET(pin_function.pin_table_offset),
0153 AML_OFFSET(pin_function.res_source_offset)},
0154
0155 {ACPI_RSC_MOVE_GPIO_PIN, ACPI_RS_OFFSET(data.pin_function.pin_table),
0156 AML_OFFSET(pin_function.pin_table_offset),
0157 0},
0158
0159
0160
0161 {ACPI_RSC_MOVE8,
0162 ACPI_RS_OFFSET(data.pin_function.resource_source.index),
0163 AML_OFFSET(pin_function.res_source_index),
0164 1},
0165
0166 {ACPI_RSC_COUNT_GPIO_RES,
0167 ACPI_RS_OFFSET(data.pin_function.resource_source.string_length),
0168 AML_OFFSET(pin_function.res_source_offset),
0169 AML_OFFSET(pin_function.vendor_offset)},
0170
0171 {ACPI_RSC_MOVE_GPIO_RES,
0172 ACPI_RS_OFFSET(data.pin_function.resource_source.string_ptr),
0173 AML_OFFSET(pin_function.res_source_offset),
0174 0},
0175
0176
0177
0178 {ACPI_RSC_COUNT_GPIO_VEN,
0179 ACPI_RS_OFFSET(data.pin_function.vendor_length),
0180 AML_OFFSET(pin_function.vendor_length),
0181 1},
0182
0183 {ACPI_RSC_MOVE_GPIO_RES, ACPI_RS_OFFSET(data.pin_function.vendor_data),
0184 AML_OFFSET(pin_function.vendor_offset),
0185 0},
0186 };
0187
0188
0189
0190
0191
0192
0193
0194 struct acpi_rsconvert_info acpi_rs_convert_csi2_serial_bus[14] = {
0195 { ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_SERIAL_BUS,
0196 ACPI_RS_SIZE(struct acpi_resource_csi2_serialbus),
0197 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_csi2_serial_bus) },
0198
0199 { ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_SERIAL_BUS,
0200 sizeof(struct aml_resource_csi2_serialbus),
0201 0 },
0202
0203 { ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.revision_id),
0204 AML_OFFSET(common_serial_bus.revision_id),
0205 1 },
0206
0207 { ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.csi2_serial_bus.type),
0208 AML_OFFSET(csi2_serial_bus.type),
0209 1 },
0210
0211 { ACPI_RSC_1BITFLAG,
0212 ACPI_RS_OFFSET(data.csi2_serial_bus.producer_consumer),
0213 AML_OFFSET(csi2_serial_bus.flags),
0214 1 },
0215
0216 { ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.csi2_serial_bus.slave_mode),
0217 AML_OFFSET(csi2_serial_bus.flags),
0218 0 },
0219
0220 { ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.csi2_serial_bus.phy_type),
0221 AML_OFFSET(csi2_serial_bus.type_specific_flags),
0222 0 },
0223
0224 { ACPI_RSC_6BITFLAG,
0225 ACPI_RS_OFFSET(data.csi2_serial_bus.local_port_instance),
0226 AML_OFFSET(csi2_serial_bus.type_specific_flags),
0227 2 },
0228
0229 { ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.csi2_serial_bus.type_revision_id),
0230 AML_OFFSET(csi2_serial_bus.type_revision_id),
0231 1 },
0232
0233
0234
0235 { ACPI_RSC_COUNT_SERIAL_VEN,
0236 ACPI_RS_OFFSET(data.csi2_serial_bus.vendor_length),
0237 AML_OFFSET(csi2_serial_bus.type_data_length),
0238 AML_RESOURCE_CSI2_MIN_DATA_LEN },
0239
0240 { ACPI_RSC_MOVE_SERIAL_VEN,
0241 ACPI_RS_OFFSET(data.csi2_serial_bus.vendor_data),
0242 0,
0243 sizeof(struct aml_resource_csi2_serialbus) },
0244
0245
0246
0247 { ACPI_RSC_MOVE8,
0248 ACPI_RS_OFFSET(data.csi2_serial_bus.resource_source.index),
0249 AML_OFFSET(csi2_serial_bus.res_source_index),
0250 1 },
0251
0252 { ACPI_RSC_COUNT_SERIAL_RES,
0253 ACPI_RS_OFFSET(data.csi2_serial_bus.resource_source.string_length),
0254 AML_OFFSET(csi2_serial_bus.type_data_length),
0255 sizeof(struct aml_resource_csi2_serialbus) },
0256
0257 { ACPI_RSC_MOVE_SERIAL_RES,
0258 ACPI_RS_OFFSET(data.csi2_serial_bus.resource_source.string_ptr),
0259 AML_OFFSET(csi2_serial_bus.type_data_length),
0260 sizeof(struct aml_resource_csi2_serialbus) },
0261 };
0262
0263
0264
0265
0266
0267
0268
0269 struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[17] = {
0270 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_SERIAL_BUS,
0271 ACPI_RS_SIZE(struct acpi_resource_i2c_serialbus),
0272 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_i2c_serial_bus)},
0273
0274 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_SERIAL_BUS,
0275 sizeof(struct aml_resource_i2c_serialbus),
0276 0},
0277
0278 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.revision_id),
0279 AML_OFFSET(common_serial_bus.revision_id),
0280 1},
0281
0282 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.type),
0283 AML_OFFSET(common_serial_bus.type),
0284 1},
0285
0286 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.common_serial_bus.slave_mode),
0287 AML_OFFSET(common_serial_bus.flags),
0288 0},
0289
0290 {ACPI_RSC_1BITFLAG,
0291 ACPI_RS_OFFSET(data.common_serial_bus.producer_consumer),
0292 AML_OFFSET(common_serial_bus.flags),
0293 1},
0294
0295 {ACPI_RSC_1BITFLAG,
0296 ACPI_RS_OFFSET(data.common_serial_bus.connection_sharing),
0297 AML_OFFSET(common_serial_bus.flags),
0298 2},
0299
0300 {ACPI_RSC_MOVE8,
0301 ACPI_RS_OFFSET(data.common_serial_bus.type_revision_id),
0302 AML_OFFSET(common_serial_bus.type_revision_id),
0303 1},
0304
0305 {ACPI_RSC_MOVE16,
0306 ACPI_RS_OFFSET(data.common_serial_bus.type_data_length),
0307 AML_OFFSET(common_serial_bus.type_data_length),
0308 1},
0309
0310
0311
0312 {ACPI_RSC_COUNT_SERIAL_VEN,
0313 ACPI_RS_OFFSET(data.common_serial_bus.vendor_length),
0314 AML_OFFSET(common_serial_bus.type_data_length),
0315 AML_RESOURCE_I2C_MIN_DATA_LEN},
0316
0317 {ACPI_RSC_MOVE_SERIAL_VEN,
0318 ACPI_RS_OFFSET(data.common_serial_bus.vendor_data),
0319 0,
0320 sizeof(struct aml_resource_i2c_serialbus)},
0321
0322
0323
0324 {ACPI_RSC_MOVE8,
0325 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.index),
0326 AML_OFFSET(common_serial_bus.res_source_index),
0327 1},
0328
0329 {ACPI_RSC_COUNT_SERIAL_RES,
0330 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_length),
0331 AML_OFFSET(common_serial_bus.type_data_length),
0332 sizeof(struct aml_resource_common_serialbus)},
0333
0334 {ACPI_RSC_MOVE_SERIAL_RES,
0335 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_ptr),
0336 AML_OFFSET(common_serial_bus.type_data_length),
0337 sizeof(struct aml_resource_common_serialbus)},
0338
0339
0340
0341 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.i2c_serial_bus.access_mode),
0342 AML_OFFSET(i2c_serial_bus.type_specific_flags),
0343 0},
0344
0345 {ACPI_RSC_MOVE32, ACPI_RS_OFFSET(data.i2c_serial_bus.connection_speed),
0346 AML_OFFSET(i2c_serial_bus.connection_speed),
0347 1},
0348
0349 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.i2c_serial_bus.slave_address),
0350 AML_OFFSET(i2c_serial_bus.slave_address),
0351 1},
0352 };
0353
0354
0355
0356
0357
0358
0359
0360 struct acpi_rsconvert_info acpi_rs_convert_spi_serial_bus[21] = {
0361 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_SERIAL_BUS,
0362 ACPI_RS_SIZE(struct acpi_resource_spi_serialbus),
0363 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_spi_serial_bus)},
0364
0365 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_SERIAL_BUS,
0366 sizeof(struct aml_resource_spi_serialbus),
0367 0},
0368
0369 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.revision_id),
0370 AML_OFFSET(common_serial_bus.revision_id),
0371 1},
0372
0373 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.type),
0374 AML_OFFSET(common_serial_bus.type),
0375 1},
0376
0377 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.common_serial_bus.slave_mode),
0378 AML_OFFSET(common_serial_bus.flags),
0379 0},
0380
0381 {ACPI_RSC_1BITFLAG,
0382 ACPI_RS_OFFSET(data.common_serial_bus.producer_consumer),
0383 AML_OFFSET(common_serial_bus.flags),
0384 1},
0385
0386 {ACPI_RSC_1BITFLAG,
0387 ACPI_RS_OFFSET(data.common_serial_bus.connection_sharing),
0388 AML_OFFSET(common_serial_bus.flags),
0389 2},
0390
0391 {ACPI_RSC_MOVE8,
0392 ACPI_RS_OFFSET(data.common_serial_bus.type_revision_id),
0393 AML_OFFSET(common_serial_bus.type_revision_id),
0394 1},
0395
0396 {ACPI_RSC_MOVE16,
0397 ACPI_RS_OFFSET(data.common_serial_bus.type_data_length),
0398 AML_OFFSET(common_serial_bus.type_data_length),
0399 1},
0400
0401
0402
0403 {ACPI_RSC_COUNT_SERIAL_VEN,
0404 ACPI_RS_OFFSET(data.common_serial_bus.vendor_length),
0405 AML_OFFSET(common_serial_bus.type_data_length),
0406 AML_RESOURCE_SPI_MIN_DATA_LEN},
0407
0408 {ACPI_RSC_MOVE_SERIAL_VEN,
0409 ACPI_RS_OFFSET(data.common_serial_bus.vendor_data),
0410 0,
0411 sizeof(struct aml_resource_spi_serialbus)},
0412
0413
0414
0415 {ACPI_RSC_MOVE8,
0416 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.index),
0417 AML_OFFSET(common_serial_bus.res_source_index),
0418 1},
0419
0420 {ACPI_RSC_COUNT_SERIAL_RES,
0421 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_length),
0422 AML_OFFSET(common_serial_bus.type_data_length),
0423 sizeof(struct aml_resource_common_serialbus)},
0424
0425 {ACPI_RSC_MOVE_SERIAL_RES,
0426 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_ptr),
0427 AML_OFFSET(common_serial_bus.type_data_length),
0428 sizeof(struct aml_resource_common_serialbus)},
0429
0430
0431
0432 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.spi_serial_bus.wire_mode),
0433 AML_OFFSET(spi_serial_bus.type_specific_flags),
0434 0},
0435
0436 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.spi_serial_bus.device_polarity),
0437 AML_OFFSET(spi_serial_bus.type_specific_flags),
0438 1},
0439
0440 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.spi_serial_bus.data_bit_length),
0441 AML_OFFSET(spi_serial_bus.data_bit_length),
0442 1},
0443
0444 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.spi_serial_bus.clock_phase),
0445 AML_OFFSET(spi_serial_bus.clock_phase),
0446 1},
0447
0448 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.spi_serial_bus.clock_polarity),
0449 AML_OFFSET(spi_serial_bus.clock_polarity),
0450 1},
0451
0452 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.spi_serial_bus.device_selection),
0453 AML_OFFSET(spi_serial_bus.device_selection),
0454 1},
0455
0456 {ACPI_RSC_MOVE32, ACPI_RS_OFFSET(data.spi_serial_bus.connection_speed),
0457 AML_OFFSET(spi_serial_bus.connection_speed),
0458 1},
0459 };
0460
0461
0462
0463
0464
0465
0466
0467 struct acpi_rsconvert_info acpi_rs_convert_uart_serial_bus[23] = {
0468 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_SERIAL_BUS,
0469 ACPI_RS_SIZE(struct acpi_resource_uart_serialbus),
0470 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_uart_serial_bus)},
0471
0472 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_SERIAL_BUS,
0473 sizeof(struct aml_resource_uart_serialbus),
0474 0},
0475
0476 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.revision_id),
0477 AML_OFFSET(common_serial_bus.revision_id),
0478 1},
0479
0480 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.common_serial_bus.type),
0481 AML_OFFSET(common_serial_bus.type),
0482 1},
0483
0484 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.common_serial_bus.slave_mode),
0485 AML_OFFSET(common_serial_bus.flags),
0486 0},
0487
0488 {ACPI_RSC_1BITFLAG,
0489 ACPI_RS_OFFSET(data.common_serial_bus.producer_consumer),
0490 AML_OFFSET(common_serial_bus.flags),
0491 1},
0492
0493 {ACPI_RSC_1BITFLAG,
0494 ACPI_RS_OFFSET(data.common_serial_bus.connection_sharing),
0495 AML_OFFSET(common_serial_bus.flags),
0496 2},
0497
0498 {ACPI_RSC_MOVE8,
0499 ACPI_RS_OFFSET(data.common_serial_bus.type_revision_id),
0500 AML_OFFSET(common_serial_bus.type_revision_id),
0501 1},
0502
0503 {ACPI_RSC_MOVE16,
0504 ACPI_RS_OFFSET(data.common_serial_bus.type_data_length),
0505 AML_OFFSET(common_serial_bus.type_data_length),
0506 1},
0507
0508
0509
0510 {ACPI_RSC_COUNT_SERIAL_VEN,
0511 ACPI_RS_OFFSET(data.common_serial_bus.vendor_length),
0512 AML_OFFSET(common_serial_bus.type_data_length),
0513 AML_RESOURCE_UART_MIN_DATA_LEN},
0514
0515 {ACPI_RSC_MOVE_SERIAL_VEN,
0516 ACPI_RS_OFFSET(data.common_serial_bus.vendor_data),
0517 0,
0518 sizeof(struct aml_resource_uart_serialbus)},
0519
0520
0521
0522 {ACPI_RSC_MOVE8,
0523 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.index),
0524 AML_OFFSET(common_serial_bus.res_source_index),
0525 1},
0526
0527 {ACPI_RSC_COUNT_SERIAL_RES,
0528 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_length),
0529 AML_OFFSET(common_serial_bus.type_data_length),
0530 sizeof(struct aml_resource_common_serialbus)},
0531
0532 {ACPI_RSC_MOVE_SERIAL_RES,
0533 ACPI_RS_OFFSET(data.common_serial_bus.resource_source.string_ptr),
0534 AML_OFFSET(common_serial_bus.type_data_length),
0535 sizeof(struct aml_resource_common_serialbus)},
0536
0537
0538
0539 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.uart_serial_bus.flow_control),
0540 AML_OFFSET(uart_serial_bus.type_specific_flags),
0541 0},
0542
0543 {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET(data.uart_serial_bus.stop_bits),
0544 AML_OFFSET(uart_serial_bus.type_specific_flags),
0545 2},
0546
0547 {ACPI_RSC_3BITFLAG, ACPI_RS_OFFSET(data.uart_serial_bus.data_bits),
0548 AML_OFFSET(uart_serial_bus.type_specific_flags),
0549 4},
0550
0551 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.uart_serial_bus.endian),
0552 AML_OFFSET(uart_serial_bus.type_specific_flags),
0553 7},
0554
0555 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.uart_serial_bus.parity),
0556 AML_OFFSET(uart_serial_bus.parity),
0557 1},
0558
0559 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.uart_serial_bus.lines_enabled),
0560 AML_OFFSET(uart_serial_bus.lines_enabled),
0561 1},
0562
0563 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.uart_serial_bus.rx_fifo_size),
0564 AML_OFFSET(uart_serial_bus.rx_fifo_size),
0565 1},
0566
0567 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.uart_serial_bus.tx_fifo_size),
0568 AML_OFFSET(uart_serial_bus.tx_fifo_size),
0569 1},
0570
0571 {ACPI_RSC_MOVE32,
0572 ACPI_RS_OFFSET(data.uart_serial_bus.default_baud_rate),
0573 AML_OFFSET(uart_serial_bus.default_baud_rate),
0574 1},
0575 };
0576
0577
0578
0579
0580
0581
0582
0583 struct acpi_rsconvert_info acpi_rs_convert_pin_config[14] = {
0584 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_CONFIG,
0585 ACPI_RS_SIZE(struct acpi_resource_pin_config),
0586 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_config)},
0587
0588 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_CONFIG,
0589 sizeof(struct aml_resource_pin_config),
0590 0},
0591
0592 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_config.revision_id),
0593 AML_OFFSET(pin_config.revision_id),
0594 1},
0595
0596 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_config.shareable),
0597 AML_OFFSET(pin_config.flags),
0598 0},
0599
0600 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_config.producer_consumer),
0601 AML_OFFSET(pin_config.flags),
0602 1},
0603
0604 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_config.pin_config_type),
0605 AML_OFFSET(pin_config.pin_config_type),
0606 1},
0607
0608 {ACPI_RSC_MOVE32, ACPI_RS_OFFSET(data.pin_config.pin_config_value),
0609 AML_OFFSET(pin_config.pin_config_value),
0610 1},
0611
0612
0613
0614
0615
0616
0617
0618
0619 {ACPI_RSC_COUNT_GPIO_PIN,
0620 ACPI_RS_OFFSET(data.pin_config.pin_table_length),
0621 AML_OFFSET(pin_config.pin_table_offset),
0622 AML_OFFSET(pin_config.res_source_offset)},
0623
0624 {ACPI_RSC_MOVE_GPIO_PIN, ACPI_RS_OFFSET(data.pin_config.pin_table),
0625 AML_OFFSET(pin_config.pin_table_offset),
0626 0},
0627
0628
0629
0630 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_config.resource_source.index),
0631 AML_OFFSET(pin_config.res_source_index),
0632 1},
0633
0634 {ACPI_RSC_COUNT_GPIO_RES,
0635 ACPI_RS_OFFSET(data.pin_config.resource_source.string_length),
0636 AML_OFFSET(pin_config.res_source_offset),
0637 AML_OFFSET(pin_config.vendor_offset)},
0638
0639 {ACPI_RSC_MOVE_GPIO_RES,
0640 ACPI_RS_OFFSET(data.pin_config.resource_source.string_ptr),
0641 AML_OFFSET(pin_config.res_source_offset),
0642 0},
0643
0644
0645
0646 {ACPI_RSC_COUNT_GPIO_VEN, ACPI_RS_OFFSET(data.pin_config.vendor_length),
0647 AML_OFFSET(pin_config.vendor_length),
0648 1},
0649
0650 {ACPI_RSC_MOVE_GPIO_RES, ACPI_RS_OFFSET(data.pin_config.vendor_data),
0651 AML_OFFSET(pin_config.vendor_offset),
0652 0},
0653 };
0654
0655
0656
0657
0658
0659
0660
0661 struct acpi_rsconvert_info acpi_rs_convert_pin_group[10] = {
0662 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_GROUP,
0663 ACPI_RS_SIZE(struct acpi_resource_pin_group),
0664 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_group)},
0665
0666 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_GROUP,
0667 sizeof(struct aml_resource_pin_group),
0668 0},
0669
0670 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group.revision_id),
0671 AML_OFFSET(pin_group.revision_id),
0672 1},
0673
0674 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_group.producer_consumer),
0675 AML_OFFSET(pin_group.flags),
0676 0},
0677
0678
0679
0680
0681
0682
0683
0684
0685 {ACPI_RSC_COUNT_GPIO_PIN,
0686 ACPI_RS_OFFSET(data.pin_group.pin_table_length),
0687 AML_OFFSET(pin_group.pin_table_offset),
0688 AML_OFFSET(pin_group.label_offset)},
0689
0690 {ACPI_RSC_MOVE_GPIO_PIN, ACPI_RS_OFFSET(data.pin_group.pin_table),
0691 AML_OFFSET(pin_group.pin_table_offset),
0692 0},
0693
0694
0695
0696 {ACPI_RSC_COUNT_GPIO_RES,
0697 ACPI_RS_OFFSET(data.pin_group.resource_label.string_length),
0698 AML_OFFSET(pin_group.label_offset),
0699 AML_OFFSET(pin_group.vendor_offset)},
0700
0701 {ACPI_RSC_MOVE_GPIO_RES,
0702 ACPI_RS_OFFSET(data.pin_group.resource_label.string_ptr),
0703 AML_OFFSET(pin_group.label_offset),
0704 0},
0705
0706
0707
0708 {ACPI_RSC_COUNT_GPIO_VEN, ACPI_RS_OFFSET(data.pin_group.vendor_length),
0709 AML_OFFSET(pin_group.vendor_length),
0710 1},
0711
0712 {ACPI_RSC_MOVE_GPIO_RES, ACPI_RS_OFFSET(data.pin_group.vendor_data),
0713 AML_OFFSET(pin_group.vendor_offset),
0714 0},
0715 };
0716
0717
0718
0719
0720
0721
0722
0723 struct acpi_rsconvert_info acpi_rs_convert_pin_group_function[13] = {
0724 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION,
0725 ACPI_RS_SIZE(struct acpi_resource_pin_group_function),
0726 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_group_function)},
0727
0728 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION,
0729 sizeof(struct aml_resource_pin_group_function),
0730 0},
0731
0732 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group_function.revision_id),
0733 AML_OFFSET(pin_group_function.revision_id),
0734 1},
0735
0736 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_group_function.shareable),
0737 AML_OFFSET(pin_group_function.flags),
0738 0},
0739
0740 {ACPI_RSC_1BITFLAG,
0741 ACPI_RS_OFFSET(data.pin_group_function.producer_consumer),
0742 AML_OFFSET(pin_group_function.flags),
0743 1},
0744
0745 {ACPI_RSC_MOVE16,
0746 ACPI_RS_OFFSET(data.pin_group_function.function_number),
0747 AML_OFFSET(pin_group_function.function_number),
0748 1},
0749
0750
0751
0752 {ACPI_RSC_MOVE8,
0753 ACPI_RS_OFFSET(data.pin_group_function.resource_source.index),
0754 AML_OFFSET(pin_group_function.res_source_index),
0755 1},
0756
0757 {ACPI_RSC_COUNT_GPIO_RES,
0758 ACPI_RS_OFFSET(data.pin_group_function.resource_source.string_length),
0759 AML_OFFSET(pin_group_function.res_source_offset),
0760 AML_OFFSET(pin_group_function.res_source_label_offset)},
0761
0762 {ACPI_RSC_MOVE_GPIO_RES,
0763 ACPI_RS_OFFSET(data.pin_group_function.resource_source.string_ptr),
0764 AML_OFFSET(pin_group_function.res_source_offset),
0765 0},
0766
0767
0768
0769 {ACPI_RSC_COUNT_GPIO_RES,
0770 ACPI_RS_OFFSET(data.pin_group_function.resource_source_label.
0771 string_length),
0772 AML_OFFSET(pin_group_function.res_source_label_offset),
0773 AML_OFFSET(pin_group_function.vendor_offset)},
0774
0775 {ACPI_RSC_MOVE_GPIO_RES,
0776 ACPI_RS_OFFSET(data.pin_group_function.resource_source_label.
0777 string_ptr),
0778 AML_OFFSET(pin_group_function.res_source_label_offset),
0779 0},
0780
0781
0782
0783 {ACPI_RSC_COUNT_GPIO_VEN,
0784 ACPI_RS_OFFSET(data.pin_group_function.vendor_length),
0785 AML_OFFSET(pin_group_function.vendor_length),
0786 1},
0787
0788 {ACPI_RSC_MOVE_GPIO_RES,
0789 ACPI_RS_OFFSET(data.pin_group_function.vendor_data),
0790 AML_OFFSET(pin_group_function.vendor_offset),
0791 0},
0792 };
0793
0794
0795
0796
0797
0798
0799
0800 struct acpi_rsconvert_info acpi_rs_convert_pin_group_config[14] = {
0801 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG,
0802 ACPI_RS_SIZE(struct acpi_resource_pin_group_config),
0803 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_group_config)},
0804
0805 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG,
0806 sizeof(struct aml_resource_pin_group_config),
0807 0},
0808
0809 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group_config.revision_id),
0810 AML_OFFSET(pin_group_config.revision_id),
0811 1},
0812
0813 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_group_config.shareable),
0814 AML_OFFSET(pin_group_config.flags),
0815 0},
0816
0817 {ACPI_RSC_1BITFLAG,
0818 ACPI_RS_OFFSET(data.pin_group_config.producer_consumer),
0819 AML_OFFSET(pin_group_config.flags),
0820 1},
0821
0822 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group_config.pin_config_type),
0823 AML_OFFSET(pin_group_config.pin_config_type),
0824 1},
0825
0826 {ACPI_RSC_MOVE32,
0827 ACPI_RS_OFFSET(data.pin_group_config.pin_config_value),
0828 AML_OFFSET(pin_group_config.pin_config_value),
0829 1},
0830
0831
0832
0833 {ACPI_RSC_MOVE8,
0834 ACPI_RS_OFFSET(data.pin_group_config.resource_source.index),
0835 AML_OFFSET(pin_group_config.res_source_index),
0836 1},
0837
0838 {ACPI_RSC_COUNT_GPIO_RES,
0839 ACPI_RS_OFFSET(data.pin_group_config.resource_source.string_length),
0840 AML_OFFSET(pin_group_config.res_source_offset),
0841 AML_OFFSET(pin_group_config.res_source_label_offset)},
0842
0843 {ACPI_RSC_MOVE_GPIO_RES,
0844 ACPI_RS_OFFSET(data.pin_group_config.resource_source.string_ptr),
0845 AML_OFFSET(pin_group_config.res_source_offset),
0846 0},
0847
0848
0849
0850 {ACPI_RSC_COUNT_GPIO_RES,
0851 ACPI_RS_OFFSET(data.pin_group_config.resource_source_label.
0852 string_length),
0853 AML_OFFSET(pin_group_config.res_source_label_offset),
0854 AML_OFFSET(pin_group_config.vendor_offset)},
0855
0856 {ACPI_RSC_MOVE_GPIO_RES,
0857 ACPI_RS_OFFSET(data.pin_group_config.resource_source_label.string_ptr),
0858 AML_OFFSET(pin_group_config.res_source_label_offset),
0859 0},
0860
0861
0862
0863 {ACPI_RSC_COUNT_GPIO_VEN,
0864 ACPI_RS_OFFSET(data.pin_group_config.vendor_length),
0865 AML_OFFSET(pin_group_config.vendor_length),
0866 1},
0867
0868 {ACPI_RSC_MOVE_GPIO_RES,
0869 ACPI_RS_OFFSET(data.pin_group_config.vendor_data),
0870 AML_OFFSET(pin_group_config.vendor_offset),
0871 0},
0872 };