# firmank123/android_kernel_xiaomi_mt6785-419 architecture

> Architecture diagram of the GitHub repository firmank123/android_kernel_xiaomi_mt6785-419, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/firmank123/android_kernel_xiaomi_mt6785-419
- Repository: https://github.com/firmank123/android_kernel_xiaomi_mt6785-419

## Overview

This is the Linux kernel: architecture-specific code supports boot, execution, memory, interrupts, and hardware, while drivers expose device capabilities to kernel clients. A representative user-to-result path is a userspace system call handled by architecture code and kernel services; the tree also shows driver workflows such as IIO buffering through DMA and SPI message execution. Several sampled files are partial, and the README is general, so the graph emphasizes supported subsystem boundaries and omits uncertain wiring rather than implying a complete kernel call graph.

Main entry points: [`drivers/spi/spi-axi-spi-engine.c`](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/spi/spi-axi-spi-engine.c) (SPI controller), [`drivers/isdn/mISDN/dsp_pipeline.c`](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/isdn/mISDN/dsp_pipeline.c) (Audio DSP pipeline), [`drivers/misc/mediatek/cameraisp/dpe/engine_request.c`](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/dpe/engine_request.c) (DPE requests), [`drivers/misc/mediatek/cameraisp/rsc/engine_request.c`](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/rsc/engine_request.c) (RSC requests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arch["Architecture support"]
  node_arm_boot["ARM boot<br/>[decompress.c]"]
  node_arm_syscalls["ARM system calls<br/>[sys_arm.c]"]
  node_arm_setup["ARM setup<br/>[setup.c]"]
  node_arm_mm["ARM memory<br/>[init.c]"]
  node_arm_irq["ARM interrupts<br/>[irq.c]"]
  node_alpha_setup["Alpha setup<br/>[setup.c]"]
  node_arc_setup["ARC setup<br/>[setup.c]"]
end

subgraph group_core["Kernel services"]
  node_dma_framework["DMA framework<br/>[dmaengine.c]"]
  node_crypto_engine["Crypto engine<br/>[crypto_engine.c]"]
end

subgraph group_device["Device drivers"]
  node_spi_engine["SPI controller"]
  node_ccp_dma["CCP DMA driver<br/>[ccp-dmaengine.c]"]
  node_iio_buffer["IIO DMA buffer"]
  node_gpu_engine["i915 engines<br/>[intel_engine_cs.c]"]
end

subgraph group_features["Kernel features"]
  node_pd_policy["USB-C PD policy<br/>[pd_policy_engine.c]"]
  node_nan_data["NAN data paths<br/>[nan_data_engine.c]"]
  node_dsp_pipeline["Audio DSP pipeline<br/>[dsp_pipeline.c]"]
  node_dpe_requests["DPE requests<br/>[engine_request.c]"]
  node_rsc_requests["RSC requests<br/>[engine_request.c]"]
end

node_user(("Userspace process"))

node_user -->|"invokes"| node_arm_syscalls
node_iio_buffer -->|"requests channel"| node_dma_framework
node_ccp_dma -->|"registers device"| node_dma_framework
node_spi_engine -->|"handles message"| node_spi_engine
node_dsp_pipeline -->|"creates elements"| node_dsp_pipeline
node_dpe_requests -->|"dispatches frame"| node_dpe_requests
node_rsc_requests -->|"dispatches frame"| node_rsc_requests

click node_arm_boot "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/boot/compressed/decompress.c"
click node_arm_syscalls "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/sys_arm.c"
click node_arm_setup "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/setup.c"
click node_arm_mm "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/mm/init.c"
click node_arm_irq "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/irq.c"
click node_alpha_setup "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/alpha/kernel/setup.c"
click node_arc_setup "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arc/kernel/setup.c"
click node_dma_framework "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/dma/dmaengine.c"
click node_crypto_engine "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/crypto/crypto_engine.c"
click node_spi_engine "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/spi/spi-axi-spi-engine.c"
click node_ccp_dma "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/crypto/ccp/ccp-dmaengine.c"
click node_iio_buffer "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/iio/buffer/industrialio-buffer-dmaengine.c"
click node_gpu_engine "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/gpu/drm/i915/intel_engine_cs.c"
click node_pd_policy "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/typec/tcpc/pd_policy_engine.c"
click node_nan_data "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/connectivity/wlan/core/gen4m/nan/nan_data_engine.c"
click node_dsp_pipeline "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/isdn/mISDN/dsp_pipeline.c"
click node_dpe_requests "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/dpe/engine_request.c"
click node_rsc_requests "https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/rsc/engine_request.c"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_arm_boot,node_arm_syscalls,node_arm_setup,node_arm_mm,node_arm_irq,node_alpha_setup,node_arc_setup,node_user toneBlue
class node_dma_framework,node_crypto_engine toneAmber
class node_spi_engine,node_ccp_dma,node_iio_buffer,node_gpu_engine toneMint
class node_pd_policy,node_nan_data,node_dsp_pipeline,node_dpe_requests,node_rsc_requests toneRose
```

## Components

### Architecture support

- [ARM boot](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/boot/compressed/decompress.c): `arch/arm/boot/compressed/decompress.c`
- [ARM system calls](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/sys_arm.c): `arch/arm/kernel/sys_arm.c`
- [ARM setup](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/setup.c): `arch/arm/kernel/setup.c`
- [ARM memory](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/mm/init.c): `arch/arm/mm/init.c`
- [ARM interrupts](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arm/kernel/irq.c): `arch/arm/kernel/irq.c`
- [Alpha setup](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/alpha/kernel/setup.c): `arch/alpha/kernel/setup.c`
- [ARC setup](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/arch/arc/kernel/setup.c): `arch/arc/kernel/setup.c`

### Kernel services

- [DMA framework](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/dma/dmaengine.c): `drivers/dma/dmaengine.c`
- [Crypto engine](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/crypto/crypto_engine.c): `crypto/crypto_engine.c`

### Device drivers

- [SPI controller](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/spi/spi-axi-spi-engine.c): `drivers/spi/spi-axi-spi-engine.c`
- [CCP DMA driver](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/crypto/ccp/ccp-dmaengine.c): `drivers/crypto/ccp/ccp-dmaengine.c`
- [IIO DMA buffer](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/iio/buffer/industrialio-buffer-dmaengine.c): `drivers/iio/buffer/industrialio-buffer-dmaengine.c`
- [i915 engines](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/gpu/drm/i915/intel_engine_cs.c): `drivers/gpu/drm/i915/intel_engine_cs.c`

### Kernel features

- [USB-C PD policy](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/typec/tcpc/pd_policy_engine.c): `drivers/misc/mediatek/typec/tcpc/pd_policy_engine.c`
- [NAN data paths](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/connectivity/wlan/core/gen4m/nan/nan_data_engine.c): `drivers/misc/mediatek/connectivity/wlan/core/gen4m/nan/nan_data_engine.c`
- [Audio DSP pipeline](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/isdn/mISDN/dsp_pipeline.c): `drivers/isdn/mISDN/dsp_pipeline.c`
- [DPE requests](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/dpe/engine_request.c): `drivers/misc/mediatek/cameraisp/dpe/engine_request.c`
- [RSC requests](https://github.com/firmank123/android_kernel_xiaomi_mt6785-419/blob/16-rebase/drivers/misc/mediatek/cameraisp/rsc/engine_request.c): `drivers/misc/mediatek/cameraisp/rsc/engine_request.c`

### Other components

- **Userspace process**

## Connections

- Userspace process → ARM system calls: invokes
- IIO DMA buffer → DMA framework: requests channel
- CCP DMA driver → DMA framework: registers device
- SPI controller → SPI controller: handles message
- Audio DSP pipeline → Audio DSP pipeline: creates elements
- DPE requests → DPE requests: dispatches frame
- RSC requests → RSC requests: dispatches frame
