Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kernel support for more ARM64 boards #4

Merged
merged 9 commits into from
Jan 8, 2024

Commits on Dec 10, 2023

  1. configs: mt8183: Regenerate MT8183 kernel config with v6.6.3

    The kernel submodule we use is at v6.6.3, but the kernel configuration
    is for v6.7.0-rc4. Run `make ARCH=arm64 olddefconfig` to roll it back.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    9e57e6a View commit details
    Browse the repository at this point in the history
  2. configs: mt8183: Rename MT8183 kernel config to be arch-generic

    The kernel config for MT8183 can already boot on Hana boards. The lowest
    of depthcharge size limits on ARM64 is a comfortable 32MiB, so we can
    try to create a arch-generic kernel, and probably even an arch-generic
    image. Rename the config and its references to "a64" as in the Makefile.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    1ff2800 View commit details
    Browse the repository at this point in the history
  3. configs: arm64: Enable USB_UAS for external drives

    Enable USB-attached SCSI in the ARM64 kernel, useful for some external
    USB-to-SATA disks and the like.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    7db42d4 View commit details
    Browse the repository at this point in the history
  4. configs: arm64: Enable configs for RK3399 Chromebooks

    Add configs for RK3399 Chromebooks based on device-tree analysis. It
    boots on Kevin with everything looking like it works, and even tries to
    boot into Debian, but can't. It can't even kexec itself, so I expect
    something is breaking down when it's trying to shutdown before launching
    the next kernel. I occasionally had display problems around suspend, so
    maybe rockchip-drm doesn't handle being deinitialized well.
    
    Based on the device-trees, following are still missing:
    
         INPUT_MOUSE n -> y
         INPUT_TOUCHSCREEN n -> y
         ROCKCHIP_CDN_DP n -> y
         SENSORS_NTC_THERMISTOR n -> y
         STAGING n -> y
         USB_UHCI_HCD n -> y
        +ARM_BIG_LITTLE_CPUIDLE y
        +ARM_CPUIDLE y
        +ARM_GIC_V3_ITS_FSL_MC y
        +BT y
        +BT_HCIBTUSB y
        +DWMAC_ROCKCHIP y
        +ETHERNET y
        +MOUSE_ELAN_I2C y
        +MWIFIEX y
        +MWIFIEX_PCIE y
        +NET_VENDOR_STMICRO y
        +PCIE_ROCKCHIP_EP y
        +ROCKCHIP_DTPM y
        +SND y
        +SND_SIMPLE_CARD y
        +SND_SOC y
        +SND_SOC_DA7219 y
        +SND_SOC_DMIC y
        +SND_SOC_MAX98357A y
        +SND_SOC_RK3399_GRU_SOUND y
        +SND_SOC_ROCKCHIP_I2S y
        +SND_SOC_ROCKCHIP_SPDIF y
        +SND_SOC_RT5514 y
        +SND_SOC_RT5514_SPI y
        +SND_SOC_RT5514_SPI_BUILTIN y
        +STMMAC_ETH y
        +TOUCHSCREEN_ATMEL_MXT y
        +TOUCHSCREEN_ELAN y
        +USB_PHY y
        +VIDEO_HANTRO y
        +VIDEO_OV2685 y
        +VIDEO_OV5695 y
        +VIDEO_ROCKCHIP_ISP1 y
        +VIDEO_ROCKCHIP_RGA y
        +VIDEO_ROCKCHIP_VDEC y
        +WLAN y
        +WLAN_VENDOR_MARVELL y
    
    ROCKCHIP_CDN_DP is about display over USB-C, needs firmware so disabled.
    USB_PHY and ARM_GIC_V3_ITS_FSL_MC cannot be selected, have no prompt.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    55d0cdb View commit details
    Browse the repository at this point in the history
  5. configs: arm64: Enable PINCTRL_MT8186

    Enable the pin controller for MT8186. Looks like most other necessary
    configs for MT8186 are enabled, as far as I can tell from device tree
    compatibles. The following are still missing but none of which look
    essential for booting:
    
         INPUT_MOUSE n -> y
         REMOTEPROC n -> y
         SX9324 n -> y
         USB_UHCI_HCD n -> y
        +ARM_BIG_LITTLE_CPUIDLE y
        +ARM_CPUIDLE y
        +CROS_EC_RPMSG y
        +MOUSE_ELAN_I2C y
        +MTK_SCP y
        +SND y
        +SND_SOC y
        +SND_SOC_BT_SCO y
        +SND_SOC_DMIC y
        +SND_SOC_MT6358 y
        +SND_SOC_MT8186 y
        +SND_SOC_MT8186_MT6366_RT1019_RT5682S y
        +SND_SOC_RK3399_GRU_SOUND y
        +SND_SOC_RT1015P y
        +SND_SOC_RT5682S y
        +SND_SOC_SOF_MT8186 y
        +SND_SOC_SOF_MTK_TOPLEVEL y
        +USB_PHY y
    
    CROS_EC_RPMSG and REMOTEPROC are about MTK_SCP, which needs firmware.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    99baab4 View commit details
    Browse the repository at this point in the history
  6. configs: arm64: Enable PINCTRL_MT8192 and MT8192 clocks

    Enable the MT1892 pin controller and clocks. The clocks might or might
    not be optional, but better not risk it being broken, we are not limited
    on size. Based on the device-tree, following are still missing, but none
    of which look essential for booting:
    
         INPUT_MOUSE n -> y
         INPUT_TOUCHSCREEN n -> y
         REMOTEPROC n -> y
         USB_UHCI_HCD n -> y
        +ARM_BIG_LITTLE_CPUIDLE y
        +ARM_CPUIDLE y
        +BT_HCIUART_3WIRE y
        +CROS_EC_RPMSG y
        +MOUSE_ELAN_I2C y
        +MTK_SCP y
        +SND y
        +SND_SOC y
        +SND_SOC_DMIC y
        +SND_SOC_MT8192 y
        +SND_SOC_RK3399_GRU_SOUND y
        +SND_SOC_RT1015P y
        +SND_SOC_RT5682_I2C y
        +TOUCHSCREEN_ELAN y
        +USB_PHY y
        +VIDEO_MEDIATEK_VCODEC y
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    0337601 View commit details
    Browse the repository at this point in the history
  7. configs: arm64: Enable PINCTRL_MT8195

    Enable MT8195 pin controller. Like MT8186, most essenial stuff looks
    like they're already enabled. Other than that, following are still
    missing, but none of which look essential for booting:
    
         ARM_DSU_PMU n -> y
         CROS_KBD_LED_BACKLIGHT n -> y
         INPUT_MOUSE n -> y
         MTK_LVTS_THERMAL n -> y
         PHY_MTK_UFS n -> y
         REMOTEPROC n -> y
         USB_UHCI_HCD n -> y
        +ARM_BIG_LITTLE_CPUIDLE y
        +ARM_CPUIDLE y
        +CROS_EC_RPMSG y
        +DWMAC_MEDIATEK y
        +ETHERNET y
        +MOUSE_ELAN_I2C y
        +MTK_SCP y
        +NET_VENDOR_STMICRO y
        +SND y
        +SND_SOC y
        +SND_SOC_DMIC y
        +SND_SOC_MT8195 y
        +SND_SOC_MT8195_MT6359 y
        +SND_SOC_RK3399_GRU_SOUND y
        +SND_SOC_RT1015P y
        +SND_SOC_RT5682S y
        +SND_SOC_RT5682_I2C y
        +SND_SOC_SOF_MT8195 y
        +SND_SOC_SOF_MTK_TOPLEVEL y
        +SPI_SLAVE_MT27XX y
        +STMMAC_ETH y
        +USB_PHY y
        +VIDEO_MEDIATEK_JPEG y
        +VIDEO_MEDIATEK_VCODEC y
    
    ARM_DSU_PMU is about performance monitoring. PHY_MTK_UFS and
    SPI_SLAVE_MT27XX actually look unused, have status = "disabled".
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    ab41bbb View commit details
    Browse the repository at this point in the history
  8. configs: arm64: Enable configs for SC7180 Chromebooks

    This tries to enable configs for SC7180 Chromebooks based on device-tree
    files, but I have no idea how much of it is useful, or if the end result
    works at all. There are more things from device-trees, but none I could
    justify when considering just booting:
    
         CROS_EC_MKBP_PROXIMITY n -> y
         INPUT_MOUSE n -> y
         INPUT_TOUCHSCREEN n -> y
         LEDS_CLASS_FLASH n -> y
         QCOM_SPMI_ADC_TM5 n -> y
         QCOM_SPMI_TEMP_ALARM n -> y
         QCOM_TSENS n -> y
         REMOTEPROC n -> y
         SX9310 n -> y
         SX9324 n -> y
        +ARM_BIG_LITTLE_CPUIDLE y
        +ARM_CPUIDLE y
        +ARM_GIC_V3_ITS_FSL_MC y
        +ATH10K y
        +ATH10K_SNOC y
        +BT_HCIUART_QCA y
        +LEDS_QCOM_FLASH y
        +MOUSE_ELAN_I2C y
        +QCOM_IPA y
        +QCOM_Q6V5_MSS y
        +QCOM_Q6V5_PAS y
        +SND y
        +SND_SOC y
        +SND_SOC_ADAU7002 y
        +SND_SOC_LPASS_SC7180 y
        +SND_SOC_MAX98357A y
        +SND_SOC_RT5682S y
        +SND_SOC_RT5682_I2C y
        +SND_SOC_SC7180 y
        +TOUCHSCREEN_ELAN y
        +USB_PHY y
        +VIDEO_QCOM_VENUS y
        +WLAN y
        +WLAN_VENDOR_ATH y
    
    QCOM_SPMI_ADC_TM5, QCOM_SPMI_TEMP_ALARM, QCOM_TSENS are for thermals.
    SX9310, SC9324 are proximity sensors. QCOM_IPA, QCOM_Q6V5_* are some
    kind of a modem.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    alpernebbi committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    0d7f91d View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    e208239 View commit details
    Browse the repository at this point in the history