Based on the Allwinner A64 user manual and on the previous sunxi pinctrl. Dts for instance, you have to start with the sunxi number to get it TAB completed. I view on hardware documentation at teres-a64 and different with my tablet is in driver for monitor, teres have a ANX6345(RGB to eDP) and my.
At the moment we use the arch/arm directory for arm64 boards as well, so the Makefile will pick up the 'arm' name for the architecture to use for tagging binaries in U-Boot image files. Differentiate between the two by looking at the CPU variable being defined to 'armv8', and use the arm64 architecture name on creating the image file if that matches. Signed-off-by: Andre Przywara Reviewed-by: Simon Glass - Makefile 9 - 1 file changed, 7 insertions(+), 2 deletions(-) diff -git a/Makefile b/Makefile index 96ddc59.d6ef646 100644 - a/Makefile b/Makefile @@ -921,13 +921,18 @@ quietcmdcppcfg = CFG $@ cmdcppcfg = $(CPP) -Wp,-MD,$(depfile) $(cppflags) $(LDPPFLAGS) -ansi -DDODEPSONLY -DASSEMBLY -x assembler-with-cpp -P -dM -E -o $@ $.
When compiling the SPL for the Allwinner A64 in AArch64 mode, we can't use the more compact Thumb2 encoding, which only exists for AArch32 code. This makes the SPL rather big, up to a point where any code additions or even a different compiler may easily exceed the 32KB limit that the Allwinner BROM imposes. Introduce a separate, mostly generic sun50i-a64 configuration, which defines the CPUV7 symbol and thus will create a 32-bit binary using the memory-saving Thumb2 encoding. This should only be used for the SPL, the U-Boot proper should still be using the existing 64-bit configuration.
The SPL code can switch to AArch64 if needed, so a 32-bit SPL can be combined with a 64-bit U-Boot proper to eventually launch arm64 kernels. Signed-off-by: Andre Przywara - board/sunxi/Kconfig 14 - configs/pine64plusdefconfig 2 +- configs/sun50ispl32defconfig 11 include/configs/sunxi-common.h 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 configs/sun50ispl32defconfig diff -git a/board/sunxi/Kconfig b/board/sunxi/Kconfig index b5246df.bb6e7fa 100644 - a/board/sunxi/Kconfig b/board/sunxi/Kconfig @@ -43,6 +43,10 @@ config SUNXIGENSUN6I watchdog, etc. The ENABLEARMSOCBOOT0HOOK option is a generic option shared with other boards. To allow alternative code to be inserted, we create another, now function specific config symbol on top of it to simplify later additions. No functional change at this time. Hi AndreOn Sun, Nov 20, 2016 at 02:57:05PM +0000, Andre Przywara wrote: The ENABLEARMSOCBOOT0HOOK option is a generic option shared with other boards.
To allow alternative code to be inserted, we create another, now function specific config symbol on top of it to simplify later additions. No functional change at this time. Hi Maximethanks for having a look! On 21/11/16 07:27, Maxime Ripard wrote: Hi AndreOn Sun, Nov 20, 2016 at 02:57:05PM +0000, Andre Przywara wrote: The ENABLEARMSOCBOOT0HOOK option is a generic option shared with other boards. To allow alternative code to be inserted, we create another, now function specific config symbol on top of it to simplify later additions.
![Drivers Allwinner A64 Tablet Drivers Allwinner A64 Tablet](/uploads/1/2/5/3/125387756/110968299.jpg)
No functional change at this time. If not, you should consider making this enabled by default, so that we don't enable it in all the defconfig for no particular reason.
I can change the logic, make the Kconfig entry 'default y if ARM64', and any defconfig could then choose to say '# RESERVE. Does that make more sense to you? What was your major concern about this? Having pointless options in various defconfigs?
Yes, Hans was trying to avoid having too much duplication across defconfig, at least for the common stuff, and I agree with him that we should keep the defconfig as small as possible. Maxime - Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering U-Boot mailing list. On 15:56, Andre Przywara wrote: The predominantely 32-bit ARM targets try to compile the SPL in Thumb mode to reduce code size. The 64-bit AArch64 instruction set does not know an alternative, concise encoding, so the Thumb build option should only be set for 32-bit targets. Likewise -marm machine options are only valid for ARMv7 targets. Signed-off-by: Andre Przywara Reviewed-by: Alexander Graf Alex U-Boot mailing list.
On 15:56, Andre Przywara wrote: For boards that call sinit when the SPL runs, we are expected to setup an early stack before calling this C function. Implement the proper AArch64 version of this based on the ARMv7 code.
This allows sunxi boards to setup the basic peripherals even on with a 64-bit SPL. Signed-off-by: Andre Przywara Isn't that what main in./arch/arm/lib/crt064.S is supposed to do? That should be used for the SPL flow too, no? I saw that too, but apparently this one here is a some shortcut for the SPL. TBH I didn't dare to look too closely, as this seems to be a bit entangled.
Hi Alexthanks for having a look! On 21/11/16 15:34, Alexander Graf wrote: On 15:56, Andre Przywara wrote: For boards that call sinit when the SPL runs, we are expected to setup an early stack before calling this C function.
Implement the proper AArch64 version of this based on the ARMv7 code. This allows sunxi boards to setup the basic peripherals even on with a 64-bit SPL. Signed-off-by: Andre Przywara Isn't that what main in./arch/arm/lib/crt064.S is supposed to do? That should be used for the SPL flow too, no? I saw that too, but apparently this one here is a some shortcut for the SPL. TBH I didn't dare to look too closely, as this seems to be a bit entangled.
Contents. Driver specific information Allwinner Device Type sdio id sunxi-3.4 kernel mainline kernel XR819 SDIO xradiowlan For BSP driver can found and firmware blobs can be found. A more recent driver variant can be found at. Also some documentation is available now: and May be related to ST cw1XX0. Initial comparison between cw1200 ( drivers/net/wireless/st/cw1200) and xradio driver shows that the source code for two drivers are really similar and the st1200 driver can be improved to support both devices. A working out-of-tree driver for mainline kernels is at. Ampak Ampak combines broadcom wifi and bluetooth chips in single modules.
Ampak Devices Device Type usb/sdio id module sunxi-3.4 kernel mainline kernel AP6181 SDIO/UART 02d0:a962 See right bcmdhd brcmfmac AP6210 SDIO/UART 02d0:a962 See right bcmdhd brcmfmac AP6212 SDIO/UART 02d0:a9a6 See right brcmfmac AP6330 SDIO/UART 02d0:4330 See right brcmfmac AP6335 SDIO/UART 02d0:4335 See right brcmfmac Broadcom Broadcom Devices Device Type usb id module sunxi-3.4 kernel mainline kernel Espressif is a fairly young Chinese company. Espressif Devices Device Type sdio id module sunxi-3.4 kernel mainline kernel ESP8089 SDIO 6666:1111 out-of-tree driver exists ESP8089 Firstly, you should use Hans de Goede's containing various bits and pieces needed to make things work. Driver itself is currently in its own repository: git clone git checkout -B cleanup origin/cleanup cd./linux make -j4 ARCH=arm CROSSCOMPILE=arm-linux-gnu- modules M=./esp8089 CONFIGESP8089=m Do not forget to copy firmware/.bin to /lib/firmware/ on the target system.
INet iNet Devices Device Type usb id module sunxi-3.4 kernel mainline kernel iNet i10 RDA is a relatively unknown and new chinese chipmaker. Device Type usb id / sdio id module sunxi-3.4 kernel mainline kernel RDA5990P RDA5991 SDIO 5449:0145 The is a single chip solution which includes Wifi, Bluetooth and an FM radio. Some code for this wifi chip is available in, but nobody has tested or ported this code yet. Datasheets: Realtek Most of the USB-based Realtek 8xxx are supported by the rtl8xxxu which is using the MAC80211 framework. Please always try this driver first, because it seems to be a lot more stable than 'official' driver. USB-based Device Type USB id mainline kernel legacy (sunxi-3.4) RTL8188CTV USB 0bda:8176 rtl8xxxu / rtl8192cu 8192cu RTL8188CUS USB 0bda:8176 rtl8xxxu / rtl8192cu 8192cu RTL8188ETV USB 0bda:0179 rtl8188eu (staging) 8188eu (see below) RTL8188EUS USB 0bda:8179 rtl8188eu (staging) 8188eu (see below) RTL8192CU USB 0bda:018a rtl8192cu 8192cu RTL8723AU USB 0bda:0724 rtl8xxxu / rtl8723au (staging) 8723au SDIO-based Device Type SDIO id mainline kernel legacy (sunxi-3.4) RTL8189ES SDIO?? Out-of-tree driver (see below)??
RTL8189FTV SDIO 024c:f179 out-of-tree driver (see below)??