Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiashangning committed Jun 29, 2021
2 parents 39e5aa7 + fd32063 commit 6418f8a
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# BigSurface
The name comes from macOS Big Sur.
Big Sur + Surface -> Big Surface (LOL)

PS:If you have a better name, please let me know.

**A proposition for a fully intergrated kext for all Surface Pro related hardwares**

## TODO
Expand All @@ -10,19 +12,20 @@ PS:If you have a better name, please let me know.
> The code is based on VoodooI2CHID.kext, but added keyboard support.
- Battery status--Surface Serial Hub **Most Important**
> See https://github.com/linux-surface/surface-aggregator-module.
> To obtain the battery readout, one needs to register the operation handler for _SAN device(_SAN.RQST) and send the request to SSH device.
> SSH is a UART controller, **the low level uart operation** is needed to be completed. Thus an expert in UART development is needed.
> To obtain the battery readout, one needs to register the operation handler for _SAN device(called via _SAN.RQST) and send the request to SSH device.
> SSH is a UART controller, **the low level uart operation(tx, rx)** is needed to be completed. Thus an expert in UART development is needed.
> Other than that, the rest of the code is not hard to port, mainly how to encode and decode the request packages.
>
> The Surface Laptop and Surface Book things can be deleted.
- Performance mode

> Depends on Surface Serial Hub driver
- Buttons
> Surface onboard GPIO buttons. ACPI device name: MSBT HID:MSHW0040
> Not finished yet.
>
> To drive it is quite simple, just register the corresponding GPIO interrupts and handle them.
- Ambient Light Sensor
> ACPI device name: ACSD, attached under I2C4
> The Linux source code is attached in the folder, just one source file, should be 'easy' to port.(Maybe we don't need gesture and proximity)
> Driver should attach to VoodooI2CDeviceNub and use it to perform I2C IO.
> See VoodooI2CSynaptics for code reference.
Expand All @@ -32,4 +35,4 @@ PS:If you have a better name, please let me know.
> Not so important, they use I2C to transfert data. Linux code available.
- Touch Screen
> Device id: 0x34E4
> Linux uses `mei` to communicate with the touch screen(ipts), don't know the equivalant thing on macOS.
> Linux uses `mei` to communicate with the touch screen(ipts), don't know the equivalant thing on macOS nor how to communicate with it.

0 comments on commit 6418f8a

Please sign in to comment.