Loading...
1 2 3 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | /** @file * * [DSDT] RHProxy device to enable WinRT API (RHPX) * * Copyright (c) 2018, Andrey Warkentin <andrey.warkentin@gmail.com> * Copyright (c) Microsoft Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * **/ Device (RHPX) { Name (_HID, "MSFT8000") Name (_CID, "MSFT8000") Name (_UID, 1) Name(_CRS, ResourceTemplate () { // Index 0 SPISerialBus ( // SCKL - GPIO 11 - Pin 23 // MOSI - GPIO 10 - Pin 19 // MISO - GPIO 9 - Pin 21 // CE0 - GPIO 8 - Pin 24 0, // Device selection (CE0) PolarityLow, // Device selection polarity FourWireMode, // WireMode 8, // DataBit len ControllerInitiated, // Slave mode 4000000, // Connection speed ClockPolarityLow, // Clock polarity ClockPhaseFirst, // Clock phase "\\_SB.GDV0.SPI0", // ResourceSource: SPI bus controller name 0, // ResourceSourceIndex // Resource usage // DescriptorName: creates name for offset of resource descriptor ) // Vendor Data // Index 1 SPISerialBus ( // SCKL - GPIO 11 - Pin 23 // MOSI - GPIO 10 - Pin 19 // MISO - GPIO 9 - Pin 21 // CE1 - GPIO 7 - Pin 26 1, // Device selection (CE1) PolarityLow, // Device selection polarity FourWireMode, // WireMode 8, // DataBit len ControllerInitiated, // Slave mode 4000000, // Connection speed ClockPolarityLow, // Clock polarity ClockPhaseFirst, // Clock phase "\\_SB.GDV0.SPI0", // ResourceSource: SPI bus controller name 0, // ResourceSourceIndex // Resource usage // DescriptorName: creates name for offset of resource descriptor ) // Vendor Data // Index 2 I2CSerialBus ( // Pin 3 (GPIO2, SDA1), 5 (GPIO3, SCL1) 0xFFFF, // SlaveAddress: placeholder , // SlaveMode: default to ControllerInitiated 0, // ConnectionSpeed: placeholder , // Addressing Mode: default to 7 bit "\\_SB.GDV0.I2C1", // ResourceSource: I2C bus controller name , , , // Descriptor Name: creates name for offset of resource descriptor ) // Vendor Data // Index 3 SPISerialBus ( // SPI1_SCLK - GPIO21 // SPI1_MOSI - GPIO20 // SPI1_MISO - GPIO19 // SPI1_CE2_N - GPIO16 2, // Device selection (CE2) PolarityLow, // Device selection polarity FourWireMode, // WireMode 8, // DataBit len ControllerInitiated, // Slave mode 4000000, // Connection speed ClockPolarityLow, // Clock polarity ClockPhaseFirst, // Clock phase "\\_SB.GDV0.SPI1", // ResourceSource: SPI bus controller name 0, // ResourceSourceIndex // Resource usage // DescriptorName: creates name for offset of resource descriptor ) // Vendor Data // GPIO 2 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 2 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 2 } // GPIO 3 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 3 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 3 } // GPIO 4 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 4 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 4 } // GPIO 5 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 5 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 5 } // GPIO 6 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 6 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 6 } // GPIO 7 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 7 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 7 } // GPIO 8 GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 8 } GpioInt (Edge, ActiveBoth, Shared, PullUp, 0, "\\_SB.GDV0.GPI0",) { 8 } // GPIO 9 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 9 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 9 } // GPIO 10 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 10 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 10 } // GPIO 11 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 11 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 11 } // GPIO 12 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 12 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 12 } // GPIO 13 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 13 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 13 } // NTRAID#MSFT-7141401-2016/04/7-jordanrh - disable UART muxing // until a proper solution can be created for the dmap conflict // GPIO 14 - UART TX // GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 14 } // GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 14 } // GPIO 15 - UART RX // GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 15 } // GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 15 } // GPIO 16 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 16 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 16 } // GPIO 17 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 17 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 17 } // GPIO 18 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 18 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 18 } // GPIO 19 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 19 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 19 } // GPIO 20 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 20 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 20 } // GPIO 21 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 21 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 21 } // GPIO 22 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 22 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 22 } // GPIO 23 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 23 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 23 } // GPIO 24 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 24 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 24 } // GPIO 25 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 25 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 25 } // GPIO 26 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 26 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 26 } // GPIO 27 GpioIO (Shared, PullDown, 0, 0, IoRestrictionNone, "\\_SB.GDV0.GPI0", 0, ResourceConsumer,,) { 27 } GpioInt (Edge, ActiveBoth, Shared, PullDown, 0, "\\_SB.GDV0.GPI0",) { 27 } }) Name (_DSD, Package() { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { // Reference http://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md // SPI 0 Package (2) { "bus-SPI-SPI0", Package() { 0, 1 } }, // Index 0 & 1 Package (2) { "SPI0-MinClockInHz", 7629 }, // 7629 Hz Package (2) { "SPI0-MaxClockInHz", 125000000 }, // 125 MHz Package (2) { "SPI0-SupportedDataBitLengths", Package() { 8 } }, // Data Bit Length // I2C1 Package (2) { "bus-I2C-I2C1", Package() { 2 } }, // GPIO Pin Count and supported drive modes Package (2) { "GPIO-PinCount", 54 }, Package (2) { "GPIO-UseDescriptorPinNumbers", 1 }, Package (2) { "GPIO-SupportedDriveModes", 0xf }, // InputHighImpedance, InputPullUp, InputPullDown, OutputCmos // SPI 1 Package (2) { "bus-SPI-SPI1", Package() { 3 }}, // Index 3 Package (2) { "SPI1-MinClockInHz", 30511 }, // 30.5 kHz Package (2) { "SPI1-MaxClockInHz", 20000000 }, // 20 MHz Package (2) { "SPI1-SupportedDataBitLengths", Package() { 8 } }, // Data Bit Length } }) } |