[RFC 00/11] Acer Chromebook R13 support
Ulrich Hecht
ulrich.hecht+renesas at gmail.com
Fri Sep 29 06:09:02 PDT 2017
Hi!
This is a very rough cut of support for the MT8173-based Acer Chromebook R13
("Elm") platform. It mostly consists of drivers ported from the chromeos-3.18
vendor kernel, a little device tree, and a number of hacks.
This is the first iteration that worked well enough to light up the display
and provide a framebuffer console, and I haven't looked much into why most
of these hacks are necessary yet. The exception is the mmsys device, see
"hack: mediatek: get mmsys to register as both DRM and clock device" for
details on that.
You can find this series at https://github.com/uli/kernel/tree/elm-working,
which also contains a config file and several ancillary bits that are
required to build a kernel partition for the Chromebook. Instructions on
how to do so (and various other things that have to be done to get it
running on your device) are available at
https://www.elinux.org/User:Uli/Acer_Chromebook_R13_GPU_test_system
(These instructions have been written for the vendor kernel, but apply to
mainline as well, except that you won't need any extra patches.)
Testing has so far been limited to what I needed to copy new kernel images
to the device: keyboard, LCD, backlight, SD card and USB port work.
CU
Uli
Ulrich Hecht (11):
soc: mediatek: MediaTek Command Queue (CMDQ) driver
drm/bridge: GPIO-controlled display multiplexer driver
platform/chrome: ChromeOS firmware interface driver
drm/bridge: Parade PS8640 MIPI DSI -> eDP converter driver
drm/bridge: Analogix ANX7688 HDMI -> DP bridge driver
arm64: dts: mediatek: Add Elm Rev. 3 device tree
hack: mediatek: get mmsys to register as both DRM and clock device
hack: drm/mediatek: roll back drm_of_find_panel_or_bridge() use
drm/mediatek: add fbdev support
hack: mtk-sd: use old driver from vendor kernel
hack: Revert "iommu/io-pgtable: Sanitise map/unmap addresses"
arch/arm64/boot/dts/mediatek/Makefile | 1 +
arch/arm64/boot/dts/mediatek/mt8173-elm-rev3.dts | 21 +
arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 210 ++
arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi | 1014 ++++++++
drivers/clk/mediatek/clk-mt8173.c | 4 +-
drivers/gpu/drm/bridge/Kconfig | 32 +
drivers/gpu/drm/bridge/Makefile | 5 +
drivers/gpu/drm/bridge/analogix-anx7688.c | 233 ++
drivers/gpu/drm/bridge/generic-gpio-mux.c | 316 +++
drivers/gpu/drm/bridge/parade-ps8640.c | 1104 +++++++++
drivers/gpu/drm/mediatek/Makefile | 2 +
drivers/gpu/drm/mediatek/mtk_dpi.c | 5 +-
drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 5 +-
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 16 +
drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 +-
drivers/gpu/drm/mediatek/mtk_drm_fb.c | 13 +
drivers/gpu/drm/mediatek/mtk_drm_fb.h | 3 +
drivers/gpu/drm/mediatek/mtk_drm_fbdev.c | 184 ++
drivers/gpu/drm/mediatek/mtk_drm_fbdev.h | 32 +
drivers/gpu/drm/mediatek/mtk_dsi.c | 21 +-
drivers/gpu/drm/mediatek/mtk_hdmi.c | 5 +-
drivers/iommu/io-pgtable-arm-v7s.c | 6 -
drivers/iommu/io-pgtable-arm.c | 7 -
drivers/mmc/host/mtk-sd.c | 465 ++--
drivers/platform/chrome/Kconfig | 18 +
drivers/platform/chrome/Makefile | 2 +
drivers/platform/chrome/chromeos.c | 120 +
drivers/platform/chrome/chromeos.h | 61 +
drivers/platform/chrome/chromeos_arm.c | 264 ++
drivers/platform/chrome/elog.h | 186 ++
drivers/soc/mediatek/Kconfig | 10 +
drivers/soc/mediatek/Makefile | 1 +
drivers/soc/mediatek/mtk-cmdq.c | 2814 ++++++++++++++++++++++
include/linux/chromeos_platform.h | 27 +
include/soc/mediatek/cmdq.h | 211 ++
35 files changed, 7161 insertions(+), 261 deletions(-)
create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-elm-rev3.dts
create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi
create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi
create mode 100644 drivers/gpu/drm/bridge/analogix-anx7688.c
create mode 100644 drivers/gpu/drm/bridge/generic-gpio-mux.c
create mode 100644 drivers/gpu/drm/bridge/parade-ps8640.c
create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fbdev.c
create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fbdev.h
create mode 100644 drivers/platform/chrome/chromeos.c
create mode 100644 drivers/platform/chrome/chromeos.h
create mode 100644 drivers/platform/chrome/chromeos_arm.c
create mode 100644 drivers/platform/chrome/elog.h
create mode 100644 drivers/soc/mediatek/mtk-cmdq.c
create mode 100644 include/linux/chromeos_platform.h
create mode 100644 include/soc/mediatek/cmdq.h
--
2.7.4
More information about the linux-arm-kernel
mailing list