summaryrefslogtreecommitdiff
path: root/Documentation/mainboard/apple/macbookpro10_1.md
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/mainboard/apple/macbookpro10_1.md')
-rw-r--r--Documentation/mainboard/apple/macbookpro10_1.md118
1 files changed, 118 insertions, 0 deletions
diff --git a/Documentation/mainboard/apple/macbookpro10_1.md b/Documentation/mainboard/apple/macbookpro10_1.md
new file mode 100644
index 0000000000..b27e887b85
--- /dev/null
+++ b/Documentation/mainboard/apple/macbookpro10_1.md
@@ -0,0 +1,118 @@
+# Apple MacBook Pro 10,1
+
+This page describes how to run coreboot on MacBook Pro 10,1, also known
+as 15'' Mid 2012/Early 2013 with Retina Display.
+
+```eval_rst
++-------------+-------------+
+| Model No. | Motherboard |
++=============+=============+
+| A1398 | 820-3332 |
++-------------+-------------+
+```
+
+## RAM configuration
+
+This laptop comes with 15 different memory module configurations. Not all of
+them are supported at the moment. To determine which configuration you have in
+your MacBook Pro 10,1, you can use inteltool and
+[this script](https://github.com/gch1p/get_macbook_ramcfg). You need to run them
+on the target machine.
+
+First, build inteltool:
+```console
+$ cd util/inteltool
+$ make -j4
+```
+
+Download the script and make it executable. Then run:
+```console
+sudo ./inteltool -g | /path/to/get_macbook_ramcfg -m mbp101
+```
+
+You should get a name of RAM configuration installed in your MacBook. Use the
+table below to determine if it's supported.
+
+```eval_rst
++-------------------+-----------+
+| RAM configuration | Supported |
++===================+===========+
+| 4g_hynix_1600s | No |
++-------------------+-----------+
+| 1g_samsung_1600 | No |
++-------------------+-----------+
+| 4g_samsung_1600s | No |
++-------------------+-----------+
+| 1g_hynix_1600 | No |
++-------------------+-----------+
+| 4g_elpida_1600s | No |
++-------------------+-----------+
+| 2g_samsung_1600 | No |
++-------------------+-----------+
+| 2g_samsung_1333 | No |
++-------------------+-----------+
+| 2g_hynix_1600 | **Yes** |
++-------------------+-----------+
+| 4g_samsung_1600 | No |
++-------------------+-----------+
+| 4g_hynix_1600 | **Yes** |
++-------------------+-----------+
+| 2g_elpida_1600s | No |
++-------------------+-----------+
+| 2g_elpida_1600 | No |
++-------------------+-----------+
+| 4g_elpida_1600 | No |
++-------------------+-----------+
+| 2g_samsung_1600s | No |
++-------------------+-----------+
+| 2g_hynix_1600s | No |
++-------------------+-----------+
+```
+
+If your RAM configuration is not supported, you can help supporting it. Run
+`sudo inteltool -m`, save output to a text file and send a message to coreboot
+[mailing list](/community/forums.html) specifying your memory configuration name
+with the text file attached.
+
+## Flashing instructions
+
+The board has one 8 MiB Macronix flash chip. To access the chip, you need to
+remove the back cover.
+
+![](mbp101_board.jpg)
+
+The flash layout of the OEM firmware is as follows:
+
+ 00000000:00000fff fd
+ 00190000:007fffff bios
+ 00001000:0018ffff me
+
+## Working
+
+- Some memory configurations (see above)
+- libgfxinit
+- VGA ROM loading
+- Integrated GPU
+- Discrete GPU
+- SeaBIOS, GRUB, TianoCore
+- Linux 4.9, Linux 5.8
+- Wi-Fi
+- Both USB ports
+- Trackpad
+- me_cleaner
+- Integrated/Discrete graphics selection via nvramtool
+- Camera
+- Mic
+- SD card reader
+- Speaker
+- usbdebug (the usb port on the right side)
+- Backlight control via gmux (/sys/class/backlight/gmux_backlight),
+ works out of box on Ubuntu 20.04
+
+## Untested
+
+- Thunderbolt
+- FireWire
+
+## TODOs
+- Support other memory configurations