Skip to content

Commit 9eb5a3a

Browse files
khilmangregkh
authored andcommitted
ANDROID: GKI: add support for Amlogic SoCs, everything as modules
Add build config, and kernel config fragment to build a GKI kernel for Amlogic SoCs with *all* SoC-specific functionality built as modules. Bug: 179406580 Change-Id: I76664649b00f968819f9c8fefd18656e0b519e79 Signed-off-by: Kevin Hilman <[email protected]> (cherry picked from commit db7b42a kernel/common android-mainline) Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent a7db971 commit 9eb5a3a

File tree

2 files changed

+167
-0
lines changed

2 files changed

+167
-0
lines changed
+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
#
2+
# Generic drivers/frameworks
3+
#
4+
CONFIG_COMMON_CLK_PWM=m
5+
CONFIG_REGULATOR_PWM=m
6+
CONFIG_PWRSEQ_EMMC=m
7+
CONFIG_PWRSEQ_SIMPLE=m
8+
CONFIG_USB_DWC2=m
9+
10+
#
11+
# Networking
12+
#
13+
CONFIG_REALTEK_PHY=m
14+
CONFIG_STMMAC_ETH=m
15+
CONFIG_STMMAC_PLATFORM=m
16+
17+
#
18+
# Amlogic
19+
#
20+
CONFIG_ARCH_MESON=y
21+
CONFIG_SERIAL_MESON=m
22+
CONFIG_SERIAL_MESON_CONSOLE=y
23+
24+
#
25+
# Amlogic drivers as modules
26+
#
27+
28+
# core
29+
CONFIG_MESON_SM=m
30+
CONFIG_RESET_MESON=m
31+
CONFIG_MESON_IRQ_GPIO=m
32+
33+
# clocks
34+
CONFIG_COMMON_CLK_MESON_REGMAP=m
35+
CONFIG_COMMON_CLK_MESON_DUALDIV=m
36+
CONFIG_COMMON_CLK_MESON_MPLL=m
37+
CONFIG_COMMON_CLK_MESON_PHASE=m
38+
CONFIG_COMMON_CLK_MESON_PLL=m
39+
CONFIG_COMMON_CLK_MESON_SCLK_DIV=m
40+
CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=m
41+
CONFIG_COMMON_CLK_MESON_AO_CLKC=m
42+
CONFIG_COMMON_CLK_MESON_EE_CLKC=m
43+
CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=m
44+
CONFIG_COMMON_CLK_GXBB=m
45+
CONFIG_COMMON_CLK_AXG=m
46+
CONFIG_COMMON_CLK_G12A=m
47+
48+
# PHY
49+
CONFIG_PHY_MESON8B_USB2=m
50+
CONFIG_PHY_MESON_GXL_USB2=m
51+
CONFIG_PHY_MESON_G12A_USB2=m
52+
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
53+
CONFIG_PHY_MESON_AXG_PCIE=m
54+
CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=m
55+
56+
# peripherals
57+
CONFIG_I2C_MESON=m
58+
CONFIG_MMC_MESON_GX=m
59+
CONFIG_HW_RANDOM_MESON=m
60+
CONFIG_USB_DWC3_MESON_G12A=m
61+
CONFIG_MESON_SARADC=m
62+
CONFIG_SPI_MESON_SPICC=m
63+
CONFIG_SPI_MESON_SPIFC=m
64+
CONFIG_PCI_MESON=m
65+
CONFIG_DWMAC_MESON=m
66+
CONFIG_MDIO_BUS_MUX_MESON_G12A=m
67+
CONFIG_MESON_GXL_PHY=m
68+
CONFIG_PINCTRL_MESON=m
69+
CONFIG_PINCTRL_MESON_GXBB=m
70+
CONFIG_PINCTRL_MESON_GXL=m
71+
CONFIG_PINCTRL_MESON_AXG=m
72+
CONFIG_PINCTRL_MESON_AXG_PMX=m
73+
CONFIG_PINCTRL_MESON_G12A=m
74+
CONFIG_MESON_GXBB_WATCHDOG=m
75+
CONFIG_MESON_WATCHDOG=m
76+
CONFIG_MTD_NAND_MESON=m
77+
CONFIG_PWM_MESON=m
78+
CONFIG_IR_MESON=m
79+
CONFIG_MESON_EFUSE=m
80+
CONFIG_MFD_KHADAS_MCU=m
81+
CONFIG_KHADAS_MCU_FAN_THERMAL=m
82+
CONFIG_AMLOGIC_THERMAL=m
83+
84+
# sound
85+
CONFIG_SND_MESON_AXG_SOUND_CARD=m
86+
CONFIG_SND_MESON_GX_SOUND_CARD=m
87+
CONFIG_SND_MESON_G12A_TOHDMITX=m
88+
89+
# display / video
90+
CONFIG_DRM_MESON=m
91+
CONFIG_DRM_MESON_DW_HDMI=m
92+
CONFIG_DRM_DW_HDMI=m
93+
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
94+
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
95+
CONFIG_DRM_DW_HDMI_CEC=m
96+
CONFIG_CEC_MESON_AO=m
97+
CONFIG_CEC_MESON_G12A_AO=m
98+
CONFIG_VIDEO_MESON_GE2D=m
99+
100+
# SoC drivers
101+
CONFIG_MESON_CANVAS=m
102+
CONFIG_MESON_CLK_MEASURE=m
103+
CONFIG_MESON_GX_PM_DOMAINS=m
104+
CONFIG_MESON_EE_PM_DOMAINS=m
105+
CONFIG_MESON_SECURE_PM_DOMAINS=m
106+
107+
#
108+
# Amlogic drivers disable
109+
#
110+
111+
# 32-bit SoC drivers
112+
CONFIG_MESON6_TIMER=n
113+
CONFIG_MESON_MX_SOCINFO=n
114+
115+
# only needed by DRM on S805X
116+
CONFIG_MESON_GX_SOCINFO=n
117+
118+
#
119+
# Debug / Testing
120+
#
121+
122+
# devtmpfs needed for buildroot/udev module loading, serial console
123+
#CONFIG_DEVTMPFS=y
124+
#CONFIG_DEVTMPFS_MOUNT=y
125+
126+
# debug/testing with FB console
127+
#CONFIG_DRM_KMS_FB_HELPER=y
128+
#CONFIG_DRM_FBDEV_EMULATION=y
129+
#CONFIG_FB=y
130+
#CONFIG_VT=y
131+
#CONFIG_FRAMEBUFFER_CONSOLE=y
132+
#CONFIG_LOGO=y

build.config.amlogic

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki.aarch64
2+
3+
DEFCONFIG=amlogic_gki_defconfig
4+
PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/amlogic_gki.fragment"
5+
POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
6+
7+
# needed for DT overlay support
8+
DTC_FLAGS="-@"
9+
10+
MAKE_GOALS="${MAKE_GOALS}
11+
amlogic/meson-g12a-sei510.dtb
12+
amlogic/meson-sm1-sei610.dtb
13+
amlogic/meson-sm1-khadas-vim3l.dtb
14+
amlogic/meson-g12b-a311d-khadas-vim3.dtb
15+
"
16+
17+
FILES="${FILES}
18+
arch/arm64/boot/Image.lz4
19+
arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dtb
20+
arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dtb
21+
arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dtb
22+
arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb
23+
"
24+
25+
#
26+
# NOTE: Using Image.lz4 in MAKE_GOALS does not work because
27+
# kernel build passes legacy option (-l) to lz4 command
28+
# and u-boot fails to decompress. Instead, add custom
29+
# command to lz4 compress same options as kernel, but
30+
# without the -l.
31+
#
32+
EXTRA_CMDS="lz4_compress"
33+
function lz4_compress() {
34+
lz4 -f -12 --favor-decSpeed ${OUT_DIR}/arch/arm64/boot/Image ${OUT_DIR}/arch/arm64/boot/Image.lz4
35+
}

0 commit comments

Comments
 (0)