1/** @file 2 SSDT for RhProxy Driver. 3 4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> 5This program and the accompanying materials 6are licensed and made available under the terms and conditions of the BSD License 7which accompanies this distribution. The full text of the license may be found at 8http://opensource.org/licenses/bsd-license.php 9 10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13**/ 14 15DefinitionBlock ("RHPX.aml", "SSDT", 1, "MSFT", "RHPROXY", 1) 16{ 17 Scope (\_SB) 18 { 19 // 20 // Test peripheral device node for MinnowBoardMax 21 // 22 Device(RHPX) 23 { 24 Name(_HID, "MSFT8000") 25 Name(_CID, "MSFT8000") 26 Name(_UID, 1) 27 28 Name(_CRS, ResourceTemplate() 29 { 30 // Index 0 31 SPISerialBus( // Pin 5, 7, 9 , 11 of JP1 for SIO_SPI 32 1, // Device selection 33 PolarityLow, // Device selection polarity 34 FourWireMode, // wiremode 35 8, // databit len 36 ControllerInitiated, // slave mode 37 8000000, // Connection speed 38 ClockPolarityLow, // Clock polarity 39 ClockPhaseSecond, // clock phase 40 "\\_SB.SPI1", // ResourceSource: SPI bus controller name 41 0, // ResourceSourceIndex 42 ResourceConsumer, // Resource usage 43 JSPI, // DescriptorName: creates name for offset of resource descriptor 44 ) // Vendor Data 45 46 // Index 1 47 I2CSerialBus( // Pin 13, 15 of JP1, for SIO_I2C5 (signal) 48 0xFF, // SlaveAddress: bus address (TBD) 49 , // SlaveMode: default to ControllerInitiated 50 400000, // ConnectionSpeed: in Hz 51 , // Addressing Mode: default to 7 bit 52 "\\_SB.I2C6", // ResourceSource: I2C bus controller name (For MinnowBoard Max, hardware I2C5(0-based) is reported as ACPI I2C6(1-based)) 53 , 54 , 55 JI2C, // Descriptor Name: creates name for offset of resource descriptor 56 ) // VendorData 57 58 // Index 2 59 UARTSerialBus( // Pin 17, 19 of JP1, for SIO_UART2 60 115200, // InitialBaudRate: in bits ber second 61 , // BitsPerByte: default to 8 bits 62 , // StopBits: Defaults to one bit 63 0xfc, // LinesInUse: 8 1-bit flags to declare line enabled 64 , // IsBigEndian: default to LittleEndian 65 , // Parity: Defaults to no parity 66 , // FlowControl: Defaults to no flow control 67 32, // ReceiveBufferSize 68 32, // TransmitBufferSize 69 "\\_SB.URT2", // ResourceSource: UART bus controller name 70 , 71 , 72 UAR2, // DescriptorName: creates name for offset of resource descriptor 73 ) 74 75 // Index 3 76 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO2",) {0} // Pin 21 of JP1 (GPIO_S5[00]) 77 // Index 4 78 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO2",) {0} 79 80 // Index 5 81 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO2",) {1} // Pin 23 of JP1 (GPIO_S5[01]) 82 // Index 6 83 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO2",) {1} 84 85 // Index 7 86 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO2",) {2} // Pin 25 of JP1 (GPIO_S5[02]) 87 // Index 8 88 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO2",) {2} 89 90 // Index 9 91 UARTSerialBus( // Pin 6, 8, 10, 12 of JP1, for SIO_UART1 92 115200, // InitialBaudRate: in bits ber second 93 , // BitsPerByte: default to 8 bits 94 , // StopBits: Defaults to one bit 95 0xfc, // LinesInUse: 8 1-bit flags to declare line enabled 96 , // IsBigEndian: default to LittleEndian 97 , // Parity: Defaults to no parity 98 FlowControlHardware, // FlowControl: Defaults to no flow control 99 32, // ReceiveBufferSize 100 32, // TransmitBufferSize 101 "\\_SB.URT1", // ResourceSource: UART bus controller name 102 , 103 , 104 UAR1, // DescriptorName: creates name for offset of resource descriptor 105 ) 106 107 // Index 10 108 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {62} // Pin 14 of JP1 (GPIO_SC[62]) 109 // Index 11 110 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {62} 111 112 // Index 12 113 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {63} // Pin 16 of JP1 (GPIO_SC[63]) 114 // Index 13 115 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {63} 116 117 // Index 14 118 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {65} // Pin 18 of JP1 (GPIO_SC[65]) 119 // Index 15 120 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {65} 121 122 // Index 16 123 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {64} // Pin 20 of JP1 (GPIO_SC[64]) 124 // Index 17 125 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {64} 126 127 // Index 18 128 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {94} // Pin 22 of JP1 (GPIO_SC[94]) 129 // Index 19 130 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {94} 131 132 // Index 20 133 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {95} // Pin 24 of JP1 (GPIO_SC[95]) 134 // Index 21 135 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {95} 136 137 // Index 22 138 GpioIo (Shared, PullDefault, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {54} // Pin 26 of JP1 (GPIO_SC[54]) 139 // Index 23 140 GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {54} 141 }) 142 143 Name(_DSD, Package() 144 { 145 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), 146 Package() 147 { 148 // SPI Mapping 149 Package(2) { "bus-SPI-SPI0", Package() { 0 }}, 150 151 // TODO: Intel will need to provide the right value for SPI0 properties 152 Package(2) { "SPI0-MinClockInHz", 100000 }, 153 Package(2) { "SPI0-MaxClockInHz", 15000000 }, 154 // SupportedDataBitLengths takes a list of support data bit length 155 // Example : Package(2) { "SPI0-SupportedDataBitLengths", Package() { 8, 7, 16 }}, 156 Package(2) { "SPI0-SupportedDataBitLengths", Package() { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }}, 157 // I2C Mapping 158 Package(2) { "bus-I2C-I2C5", Package() { 1 }}, 159 // UART Mapping 160 Package(2) { "bus-UART-UART2", Package() { 2 }}, 161 Package(2) { "bus-UART-UART1", Package() { 9 }}, 162 } 163 }) 164 } 165 } 166}