User:Wens

From linux-sunxi.org
Jump to: navigation, search

Contents

ELCE talk

  • Standardized controllers: EHCI/OHCI/AHCI
  • UART: Synopsys APB UART, port done by Maxime, commit 1bea07f16da0
  • I2C: mv64xxx compatible logic, port done by Maxime
  • GMAC: dwmac/stmmac compatible, port done by me
  • sun8i EMAC: dwmac/stmmac compatible logic, matching DMA logic for chain mode,

information provided by Theobroma Systems, port done by Corentin Unfortunately the information exchange was done in private mail.

  • sun8i HDMI: DW-HDMI compatible, with custom PHY and optional register obfuscation.

First reported by jemk [1], discovered "by drawing a lot of graphs with binary addresses that would make sense to be next to each other, and a lot of luck" [2] H3 BSP kernel had an HDMI driver which used obfuscated addresses.

In 2016/06, jodamm reverse engineered the CEC register bits enough to write a driver [3] In 2016/11, jernej found a way to unscramble the registers [4] hidden in sun8iw11p1 BSP kernel's bsp_hdmi_cec_send() function, presumably to make linear writes to consecutive registers easier.

  • AMPAK wifi modules: Broadcom chips packaged with passive components
  • XR819: ST CW1100/CW1200 based, shares ~90% driver code and command set.

initial clues: SDIO vendor ID is ST [5] also reported by Daniel Palmer (dgp) [6]

WiP / TODO list

  • WiP
    • A23 display support
    • A80 GMAC kernel support
    • A80 PSCI U-boot support
    • A80 display kernel support
  • TODO (might not get to all of them)
    • A80 GMAC U-boot support
    • A80 IO domain voltage U-boot support
    • A80 IO domain voltage kernel support
    • A80 display U-boot support
    • A80/A83 I2S kernel support
    • A80/A83 SPDIF kernel support
    • A83 support...
    • AC100 I2S codec support

SD/MMC

This table is based on Allwinner datasheets and usage patterns. For example, mmc0 is always used for SD cards. mmc1 is always used for SDIO. mmc2 and mmc3 are used for embedded SD or eMMC chips.

SoC Controller SD ver. MMC ver. SDIO UHS-1 DDR Max clk. 1.8V (separate power rail) 8-bit
SDR DDR
A10 3.0 4.3 Yes Yes Yes 52 MHz Yes No
A10s 3.0 4.3 Yes Yes No No seperate pingroup supply
A13 3.0 4.3 Yes Yes No No seperate pingroup supply
A20 3.0 4.3 Yes Yes Yes 52 MHz Yes No
A23 3.0 4.41 Yes  ? No 52 MHz No seperate pingroup supply SDC2 only
A31 MMC0 3.0 4.5 No Yes Yes 100 MHz Yes No
MMC1 2.0 N/A Yes No Yes 100 MHz Yes No
MMC2 3.0 4.5 No Yes Yes 100 MHz Yes Yes (but no DDR)
MMC3 3.0 4.5 No Yes Yes 100 MHz Yes Yes
A31s 3.0 4.5 Yes Yes Yes 100 MHz Yes SDC3 only
A33 2.0 4.41 Yes No No 50 MHz No SDC2 only
A80 3.0 4.5 Yes Yes 200 MHz Yes SDC2 only
A83 2.0 4.41 Yes No Yes 50 MHz No SDC2 only
H3 MMC0 2.0 N/A No Yes No 50 MHz No No
MMC1 3.0 N/A Yes Yes  ??? 50 MHz Yes No
MMC2 N/A 4.41 No Yes Yes 50 MHz 50 MHz No Yes
A64 MMC0 3.0 N/A No Maybe Yes 200 MHz 50 MHz Yes No
MMC1 3.0 N/A Yes Maybe Yes 200 MHz 50 MHz Yes No
MMC2 3.0 5.0 No Maybe Yes 200 MHz 150 MHz Yes Yes
H5 MMC0 2.0 N/A No No No 50 MHz N/A No No
MMC1 3.0 N/A Yes Maybe Yes 150 MHz 50 MHz Yes No
MMC2 3.0 5.1 No Maybe Yes 150 MHz 100 MHz Yes Yes

Hardware Wishlist

Hardware I have

  • Including LCD touchpanel and VGA converter module
  • Including dual camera module and LCD touchpanel
Personal tools
Namespaces

Variants
Actions
Navigation
Tools