mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2025-07-16 13:59:46 +02:00
Compare commits
181 Commits
Author | SHA1 | Date | |
---|---|---|---|
eaa81c64b9 | |||
cabb64ab12 | |||
d7b7bc10b1 | |||
561c1211f8 | |||
ef3adc7f53 | |||
57aeb9103d | |||
3c1d2b073b | |||
5e74f7e4d7 | |||
2acdec5212 | |||
9b81e35f15 | |||
820f782db6 | |||
1c14532fed | |||
992691c2bc | |||
d58e8c36d7 | |||
dcd6baa7cf | |||
e828ec13be | |||
2998db9ab3 | |||
3d4bcd1c54 | |||
682a3dffc7 | |||
363feb2ce8 | |||
a34349d67b | |||
a00dc47b24 | |||
a03d4270a1 | |||
ca60ffbc53 | |||
ab9690a0c1 | |||
f2f4c6a0bc | |||
0724baeaaf | |||
c877916982 | |||
dbf43ca34a | |||
80c3f3ee74 | |||
4145ca429f | |||
3d37166570 | |||
cfd534a0e0 | |||
43d1e49c0e | |||
dabffb137c | |||
2f6e00210b | |||
5a5ca0e05b | |||
9f2f369549 | |||
0825f43fe2 | |||
187cd6d342 | |||
2e9fc04500 | |||
a997050889 | |||
9c47e507e3 | |||
a2d3d5ffab | |||
42f4ad510d | |||
a83a18e526 | |||
33d7e2bb51 | |||
2a408a1350 | |||
31519e547e | |||
a2e503b82e | |||
4a04ddfb3e | |||
20e638ef5f | |||
322843f576 | |||
f70de55509 | |||
2f84e8ff67 | |||
3429331a8c | |||
05ff172139 | |||
608ae0cc0f | |||
f8aeeaeddb | |||
b756926593 | |||
197bc04dac | |||
4afe6a0b17 | |||
9edbede7bc | |||
2f291239fe | |||
0c874c99f7 | |||
916ecc0e9d | |||
17b8e40209 | |||
c19b5742bd | |||
0437a1df6b | |||
96453886e2 | |||
10173513ea | |||
c475a1851a | |||
7cd5e692b7 | |||
089c34a7bc | |||
cc1de9f039 | |||
cd1031613f | |||
e21fd8733d | |||
5257bb2738 | |||
40c6d52123 | |||
c7782f7180 | |||
3ace4df57b | |||
4895ae7bdf | |||
75f21bc538 | |||
af98b13aca | |||
c867cb74e2 | |||
ca39c18cb9 | |||
82965e1bc6 | |||
6c6ef34b69 | |||
6cba9f71bb | |||
8b4609b9dc | |||
5dcf6c40d4 | |||
1407c41748 | |||
533a3ac16d | |||
ea627f0920 | |||
441baea0ef | |||
cd266517ee | |||
5914ca8c1c | |||
776eafbb2e | |||
4bf7be7650 | |||
d1f2121138 | |||
7ab8fb6211 | |||
b55c255f22 | |||
ab649c5d39 | |||
3f1bb863a7 | |||
21d137f559 | |||
c67912122c | |||
0fe08a24d6 | |||
7b951191fb | |||
5723c27da1 | |||
27aadbc9bf | |||
9642c1bf2f | |||
569d314517 | |||
f93ef86045 | |||
9357921fe9 | |||
7540e7cef4 | |||
28b8144df8 | |||
046a1e27ed | |||
8bdb29e399 | |||
c4c91b604b | |||
54a4db9b55 | |||
1a42a71bb1 | |||
be26c5dd90 | |||
f87d85fa2e | |||
6c94abe54d | |||
3bab03d8a2 | |||
34ac6458dd | |||
b25b74412c | |||
48acd228c9 | |||
d28a0b02fe | |||
3276120687 | |||
62f2141df1 | |||
73f3286067 | |||
cf0bf9671a | |||
290a916e69 | |||
b0c81db3de | |||
44040b0ea4 | |||
bb5817fe0e | |||
b5de5d2be4 | |||
8bcf3b3ad4 | |||
d84706872b | |||
7278d3faaf | |||
8b3211e04c | |||
90189dae67 | |||
1b57b51612 | |||
a30c7ec984 | |||
f3bbe9f079 | |||
fdce4f8674 | |||
20822ad769 | |||
e8d39837e2 | |||
3b798310df | |||
910bb165a3 | |||
9895874a29 | |||
7feb76686f | |||
4735c7766f | |||
78c395aab7 | |||
b122bfc272 | |||
752f632e98 | |||
7dcc9a0069 | |||
ef5b9a675b | |||
b9a5f19db2 | |||
13fe88d754 | |||
6ece692e9b | |||
c39a024199 | |||
545d824ccf | |||
45a666ac43 | |||
a508443f52 | |||
0225772064 | |||
3a7f7e1199 | |||
a67a0c58df | |||
8852666a80 | |||
e584cd9084 | |||
deb667015d | |||
503102a841 | |||
02bf3fcd80 | |||
7bc87817a1 | |||
080eb40635 | |||
dcd5790e87 | |||
6a1103b726 | |||
668bc6824c | |||
fd330bbb55 | |||
e66258ad7a |
@ -6,6 +6,7 @@ Official sunxi OpenEmbedded layer for Allwinner-based boards.
|
||||
This layer depends on the additional layers:
|
||||
|
||||
* [meta-openembedded/meta-oe](http://git.openembedded.org/meta-openembedded/tree/meta-oe)
|
||||
* [meta-arm](https://git.yoctoproject.org/meta-arm)
|
||||
|
||||
Tested with core-image-base.
|
||||
|
||||
@ -16,6 +17,11 @@ Maintainers:
|
||||
* Sergey Lapin <slapin@ossfans.org>
|
||||
* Marek Belisko <marek.belisko@gmail.com>
|
||||
|
||||
Community
|
||||
===========
|
||||
|
||||
You can reach community + ask your question on gitter: https://matrix.to/#/#meta-sunxi:gitter.im
|
||||
|
||||
Kernel / U-Boot Version
|
||||
===========
|
||||
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.
|
||||
|
@ -1,128 +0,0 @@
|
||||
inherit image_types
|
||||
|
||||
#
|
||||
# Create an image that can by written onto a SD card using dd.
|
||||
# Originally written for rasberrypi adapt for the needs of allwinner sunxi based boards
|
||||
#
|
||||
# The disk layout used is:
|
||||
#
|
||||
# 0 -> 8*1024 - reserverd
|
||||
# 8*1024 -> - arm combined spl/u-boot or aarch64 spl
|
||||
# 40*1024 -> - aarch64 u-boot
|
||||
# 2048*1024 -> BOOT_SPACE - bootloader and kernel
|
||||
#
|
||||
#
|
||||
|
||||
# This image depends on the rootfs image
|
||||
IMAGE_TYPEDEP_sunxi-sdimg = "${SDIMG_ROOTFS_TYPE}"
|
||||
|
||||
# Boot partition volume id
|
||||
BOOTDD_VOLUME_ID ?= "boot"
|
||||
|
||||
# Boot partition size [in KiB]
|
||||
BOOT_SPACE ?= "40960"
|
||||
|
||||
# First partition begin at sector 2048 : 2048*1024 = 2097152
|
||||
IMAGE_ROOTFS_ALIGNMENT = "2048"
|
||||
|
||||
# Use an uncompressed ext4 by default as rootfs
|
||||
SDIMG_ROOTFS_TYPE ?= "ext4"
|
||||
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||
|
||||
do_image_sunxi_sdimg[depends] += " \
|
||||
parted-native:do_populate_sysroot \
|
||||
mtools-native:do_populate_sysroot \
|
||||
dosfstools-native:do_populate_sysroot \
|
||||
virtual/kernel:do_deploy \
|
||||
virtual/bootloader:do_deploy \
|
||||
"
|
||||
|
||||
# SD card image name
|
||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||
|
||||
IMAGE_CMD_sunxi-sdimg () {
|
||||
|
||||
# Align partitions
|
||||
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
|
||||
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
|
||||
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
|
||||
|
||||
# Initialize sdcard image file
|
||||
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE})
|
||||
|
||||
# Create partition table
|
||||
parted -s ${SDIMG} mklabel msdos
|
||||
# Create boot partition and mark it as bootable
|
||||
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
|
||||
parted -s ${SDIMG} set 1 boot on
|
||||
# Create rootfs partition
|
||||
parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
|
||||
parted ${SDIMG} print
|
||||
|
||||
# Create a vfat image with boot files
|
||||
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
|
||||
rm -f ${WORKDIR}/boot.img
|
||||
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
|
||||
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::${KERNEL_IMAGETYPE}
|
||||
|
||||
# Copy device tree file
|
||||
if test -n "${KERNEL_DEVICETREE}"; then
|
||||
for DTS_FILE in ${KERNEL_DEVICETREE}; do
|
||||
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
|
||||
DTS_DIR_NAME=`dirname ${DTS_FILE}`
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/"${DTS_BASE_NAME}.dtb" ]; then
|
||||
|
||||
if [ ${DTS_FILE} != ${DTS_BASE_NAME}.dtb ]; then
|
||||
mmd -i ${WORKDIR}/boot.img ::/${DTS_DIR_NAME}
|
||||
fi
|
||||
|
||||
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
||||
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${KERNEL_IMAGETYPE},g;s,\.dtb$,.bin,g"`"
|
||||
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb ::/${DTS_FILE}
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -e "${DEPLOY_DIR_IMAGE}/fex.bin" ]
|
||||
then
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/fex.bin ::script.bin
|
||||
fi
|
||||
if [ -e "${DEPLOY_DIR_IMAGE}/boot.scr" ]
|
||||
then
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
|
||||
fi
|
||||
if [ -e "${DEPLOY_DIR_IMAGE}/splash.bmp" ]
|
||||
then
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/splash.bmp ::splash.bmp
|
||||
fi
|
||||
|
||||
|
||||
# Add stamp file
|
||||
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
|
||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
|
||||
|
||||
# Burn Partitions
|
||||
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
||||
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
|
||||
if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
|
||||
then
|
||||
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
||||
else
|
||||
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
||||
fi
|
||||
|
||||
# write u-boot-spl at the begining of sdcard in one shot
|
||||
SPL_FILE=$(basename ${SPL_BINARY})
|
||||
dd if=${DEPLOY_DIR_IMAGE}/${SPL_FILE} of=${SDIMG} bs=1024 seek=8 conv=notrunc
|
||||
}
|
||||
|
||||
# write uboot.itb for arm64 boards
|
||||
IMAGE_CMD_sunxi-sdimg_append_sun50i () {
|
||||
if [ -e "${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}" ]
|
||||
then
|
||||
dd if=${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY} of=${SDIMG} bs=1024 seek=40 conv=notrunc
|
||||
fi
|
||||
}
|
@ -4,14 +4,14 @@ BBPATH .= ":${LAYERDIR}"
|
||||
# We have a recipes directory, add to BBFILES
|
||||
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "meta-sunxi"
|
||||
BBFILE_PATTERN_meta-sunxi := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_meta-sunxi = "10"
|
||||
BBFILE_COLLECTIONS += "sunxi"
|
||||
BBFILE_PATTERN_sunxi := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_sunxi = "10"
|
||||
|
||||
# This should only be incremented on significant changes that will
|
||||
# cause compatibility issues with other layers
|
||||
LAYERVERSION_meta-sunxi = "1"
|
||||
LAYERVERSION_sunxi = "1"
|
||||
|
||||
LAYERDEPENDS_meta-sunxi = "core openembedded-layer"
|
||||
LAYERDEPENDS_sunxi = "core meta-python meta-arm"
|
||||
|
||||
LAYERSERIES_COMPAT_meta-sunxi = "zeus dunfell gatesgarth hardknott"
|
||||
LAYERSERIES_COMPAT_sunxi = "styhead"
|
||||
|
9
conf/machine/bananapi-m2-berry.conf
Normal file
9
conf/machine/bananapi-m2-berry.conf
Normal file
@ -0,0 +1,9 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: bananapi-m2-berry
|
||||
#@DESCRIPTION: Machine configuration for the Banana Pi M2 Berry, based on Allwinner V40 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
require conf/machine/include/hardware/ap6212a.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-v40-bananapi-m2-berry.dtb"
|
||||
UBOOT_MACHINE = "bananapi_m2_berry_defconfig"
|
9
conf/machine/bananapi-m2-zero.conf
Normal file
9
conf/machine/bananapi-m2-zero.conf
Normal file
@ -0,0 +1,9 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: bananapi-m2-zero
|
||||
#@DESCRIPTION: Machine configuration for the Banana Pi M2 Zero, base on Allwinner H3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
require conf/machine/include/hardware/ap6212a.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-bananapi-m2-zero.dtb"
|
||||
UBOOT_MACHINE = "bananapi_m2_zero_defconfig"
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-r16-bananapi-m2m.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-r16-bananapi-m2m.dtb"
|
||||
UBOOT_MACHINE = "Bananapi_m2m_defconfig"
|
||||
|
||||
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-bananapi-m2-plus.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-bananapi-m2-plus.dtb"
|
||||
UBOOT_MACHINE = "bananapi_m2_plus_h3_defconfig"
|
||||
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-bananapi.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-bananapi.dtb"
|
||||
UBOOT_MACHINE = "Bananapi_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex"
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-cubieboard.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun4i-a10-cubieboard.dtb"
|
||||
UBOOT_MACHINE = "Cubieboard_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex"
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-cubieboard2.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubieboard2.dtb"
|
||||
UBOOT_MACHINE = "Cubieboard2_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/cubieboard2.fex"
|
||||
|
11
conf/machine/cubieboard4.conf
Normal file
11
conf/machine/cubieboard4.conf
Normal file
@ -0,0 +1,11 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: CubieBoard4
|
||||
#@DESCRIPTION: Machine configuration for the cubieboard4, based on allwinner A80 CPU http://cubieboard.org/
|
||||
|
||||
require conf/machine/include/sun9i.inc
|
||||
require conf/machine/include/hardware/ap6330.inc
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun9i-a80-cubieboard4.dtb"
|
||||
UBOOT_MACHINE = "Cubieboard4_defconfig"
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-cubietruck.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubietruck.dtb"
|
||||
UBOOT_MACHINE = "Cubietruck_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex"
|
||||
|
@ -1,5 +1,9 @@
|
||||
# Include for boards with AMPAK 6212A Wifi / Bluetooth module
|
||||
# https://linux-sunxi.org/Wifi#Ampak
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " kernel-module-brcmfmac"
|
||||
MACHINE_EXTRA_RDEPENDS_append = " linux-firmware-bcm43430"
|
||||
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac kernel-module-hci-uart"
|
||||
MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm43430 armbian-firmware-ap6212"
|
||||
|
||||
MACHINE_FEATURES:append = " bluetooth wifi"
|
||||
|
||||
KERNEL_FEATURES:append = " features/ap6212/ap6212.scc"
|
||||
|
7
conf/machine/include/hardware/ap6330.inc
Normal file
7
conf/machine/include/hardware/ap6330.inc
Normal file
@ -0,0 +1,7 @@
|
||||
# Include for boards with AMPAK AP6330 Wifi / Bluetooth module
|
||||
# https://linux-sunxi.org/Wifi#Ampak
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac"
|
||||
MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm4330"
|
||||
|
||||
MACHINE_FEATURES:append = " bluetooth wifi"
|
@ -1,5 +1,5 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa8.inc
|
||||
|
||||
SOC_FAMILY = "sun4i"
|
||||
|
8
conf/machine/include/sun50i-h6.inc
Normal file
8
conf/machine/include/sun50i-h6.inc
Normal file
@ -0,0 +1,8 @@
|
||||
require conf/machine/include/sunxi64.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa53-crypto"
|
||||
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
|
||||
|
||||
MACHINEOVERRIDES =. "sun50i:"
|
||||
|
||||
SOC_FAMILY = "sun50i-h6"
|
8
conf/machine/include/sun50i-h616.inc
Normal file
8
conf/machine/include/sun50i-h616.inc
Normal file
@ -0,0 +1,8 @@
|
||||
require conf/machine/include/sunxi64.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa53-crypto"
|
||||
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
|
||||
|
||||
MACHINEOVERRIDES =. "sun50i:"
|
||||
|
||||
SOC_FAMILY = "sun50i-h616"
|
@ -1,6 +1,6 @@
|
||||
require conf/machine/include/sunxi64.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa53-crypto"
|
||||
require conf/machine/include/tune-cortexa53.inc
|
||||
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
|
||||
|
||||
SOC_FAMILY = "sun50i"
|
||||
|
@ -1,5 +1,5 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa8.inc
|
||||
|
||||
SOC_FAMILY = "sun5i"
|
||||
|
@ -1,5 +1,5 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/tune-cortexa7.inc
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
|
||||
|
||||
SOC_FAMILY = "sun7i"
|
||||
|
@ -1,5 +1,5 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/tune-cortexa7.inc
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
|
||||
|
||||
SOC_FAMILY = "sun8i"
|
||||
|
5
conf/machine/include/sun9i.inc
Normal file
5
conf/machine/include/sun9i.inc
Normal file
@ -0,0 +1,5 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa15.inc
|
||||
|
||||
SOC_FAMILY = "sun9i"
|
@ -4,7 +4,7 @@ PREFERRED_PROVIDER_virtual/libgles1 ?= "sunxi-mali"
|
||||
PREFERRED_PROVIDER_virtual/libgles2 ?= "sunxi-mali"
|
||||
PREFERRED_PROVIDER_virtual/egl ?= "sunxi-mali"
|
||||
|
||||
PACKAGECONFIG_remove_pn-xserver-xorg = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glamor', '', d)}"
|
||||
PACKAGECONFIG:remove:pn-xserver-xorg = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glamor', '', d)}"
|
||||
|
||||
XSERVER += "sunxi-mali \
|
||||
sunxi-mali-dev"
|
||||
|
@ -9,20 +9,18 @@ MACHINE_SOCARCH_SUFFIX_sun4i = "-sun4i"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-video-fbturbo \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-input-keyboard"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
|
||||
PREFERRED_VERSION_linux-mainline ?= "5.4.%"
|
||||
PREFERRED_VERSION_linux-mainline ?= "6.6.%"
|
||||
PREFERRED_PROVIDER_u-boot ?= "u-boot"
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
|
||||
|
||||
KERNEL_IMAGETYPE ?= "uImage"
|
||||
|
||||
IMAGE_CLASSES += "sdcard_image-sunxi"
|
||||
IMAGE_FSTYPES += "ext3 tar.gz sunxi-sdimg wic.gz wic.bmap"
|
||||
IMAGE_FSTYPES += "ext3 tar.gz wic.gz wic.bmap"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
|
||||
|
||||
@ -32,7 +30,7 @@ UBOOT_ENTRYPOINT ?= "0x40008000"
|
||||
|
||||
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"
|
||||
|
||||
SERIAL_CONSOLE ?= "115200 ttyS0"
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"
|
||||
|
||||
# Mimic the sdcard_image-sunxi.bbclass
|
||||
@ -42,7 +40,7 @@ SUNXI_FEX_FILE ?= " "
|
||||
SUNXI_BOOT_SPACE ?= "40"
|
||||
IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr"
|
||||
# ship fex file for sunxi kernel, devicetree file for mainline kernel
|
||||
IMAGE_BOOT_FILES += "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/kernel', 'linux-sunxi', '${SUNXI_FEX_FILE}', '${KERNEL_DEVICETREE}', d)}"
|
||||
IMAGE_BOOT_FILES += "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/kernel', 'linux-sunxi', '${SUNXI_FEX_FILE}', d.getVar('KERNEL_DEVICETREE', '').split('/')[-1], d)}"
|
||||
WKS_FILES ?= "sunxi-sdcard-image.wks.in"
|
||||
WKS_FILE_DEPENDS ?= "virtual/kernel u-boot"
|
||||
# in case of sunxi kernel, sunxi-board-fex must be built prior wic image assembly
|
||||
|
@ -4,23 +4,29 @@ include conf/machine/include/soc-family.inc
|
||||
MACHINEOVERRIDES =. "sunxi:sunxi64:"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
|
||||
PREFERRED_VERSION_linux-mainline ?= "6.6.%"
|
||||
PREFERRED_PROVIDER_u-boot ?= "u-boot"
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
|
||||
|
||||
KERNEL_IMAGETYPE ?= "Image"
|
||||
|
||||
IMAGE_CLASSES += "sdcard_image-sunxi"
|
||||
IMAGE_FSTYPES += "ext4 tar.gz sunxi-sdimg"
|
||||
IMAGE_FSTYPES += "ext4 tar.gz wic.gz wic.bmap"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
|
||||
|
||||
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
|
||||
|
||||
UBOOT_ENTRYPOINT ?= "0x40008000"
|
||||
UBOOT_LOADADDRESS ?= "0x400080OB00"
|
||||
UBOOT_LOADADDRESS ?= "0x40008000"
|
||||
|
||||
UBOOT_BINARY ?= "u-boot.itb"
|
||||
SPL_BINARY ?= "spl/sunxi-spl.bin"
|
||||
#UBOOT_BINARY ?= "u-boot.itb"
|
||||
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"
|
||||
|
||||
SERIAL_CONSOLE ?= "115200 ttyS0"
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"
|
||||
|
||||
SUNXI_BOOT_SPACE ?= "40"
|
||||
IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr ${@d.getVar('KERNEL_DEVICETREE', '').split('/')[-1]}"
|
||||
|
||||
WKS_FILES ?= "sunxi-sdcard-image.wks.in"
|
||||
WKS_FILE_DEPENDS ?= "virtual/kernel u-boot"
|
||||
|
10
conf/machine/lamobo-r1.conf
Normal file
10
conf/machine/lamobo-r1.conf
Normal file
@ -0,0 +1,10 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Lamobo R1
|
||||
#@DESCRIPTION: Machine configuration for the lamobo r1, based on allwinner A20 CPU http://bananapi.org/
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-lamobo-r1.dtb"
|
||||
UBOOT_MACHINE = "Lamobo_R1_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/lamobo-r1.fex"
|
@ -6,4 +6,4 @@ require conf/machine/include/sun8i.inc
|
||||
|
||||
|
||||
UBOOT_MACHINE = "LicheePi_Zero_defconfig"
|
||||
KERNEL_DEVICETREE = "sun8i-v3s-licheepi-zero.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-v3s-licheepi-zero.dtb"
|
||||
|
10
conf/machine/mangopi-mq-t-t113.conf
Normal file
10
conf/machine/mangopi-mq-t-t113.conf
Normal file
@ -0,0 +1,10 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: MangoPi MQ-R T113-S3
|
||||
#@DESCRIPTION: Machine configuration for the MangoPi MQ-R, based on the Allwinner T113-S3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-t113s-mangopi-mq-r-t113.dtb"
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
UBOOT_MACHINE = "mangopi_mq_r_defconfig"
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-marsboard.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun4i-a10-marsboard.dtb"
|
||||
UBOOT_MACHINE = "Marsboard_A10_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/marsboard_a10.fex"
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-a1000.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun4i-a10-a1000.dtb"
|
||||
UBOOT_MACHINE = "Mele_A1000_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"
|
||||
|
11
conf/machine/merrii-a80-optimus.conf
Normal file
11
conf/machine/merrii-a80-optimus.conf
Normal file
@ -0,0 +1,11 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Merrii A80 Optimus
|
||||
#@DESCRIPTION: Machine configuration for the Merrii A80 Optimus, based on Allwinner A80 CPU https://linux-sunxi.org/Merrii_A80_Optimus_Board
|
||||
|
||||
require conf/machine/include/sun9i.inc
|
||||
require conf/machine/include/hardware/ap6330.inc
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun9i-a80-optimus.dtb"
|
||||
UBOOT_MACHINE = "Merrii_A80_Optimus_defconfig"
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-m1-plus.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-m1-plus.dtb"
|
||||
UBOOT_MACHINE = "nanopi_m1_plus_defconfig"
|
||||
|
||||
|
@ -4,5 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-m1.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-m1.dtb"
|
||||
UBOOT_MACHINE = "nanopi_m1_defconfig"
|
||||
|
@ -5,5 +5,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo-air.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-neo-air.dtb"
|
||||
UBOOT_MACHINE = "nanopi_neo_air_defconfig"
|
||||
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-neo.dtb"
|
||||
UBOOT_MACHINE = "nanopi_neo_defconfig"
|
||||
|
||||
|
8
conf/machine/nanopi-r1.conf
Normal file
8
conf/machine/nanopi-r1.conf
Normal file
@ -0,0 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: NanoPi R1
|
||||
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi R1, based on #the Allwinner H3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-r1.dtb"
|
||||
UBOOT_MACHINE = "nanopi_r1_defconfig"
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-olinuxino-lime.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun4i-a10-olinuxino-lime.dtb"
|
||||
UBOOT_MACHINE = "A10-OLinuXino-Lime_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/a10-olinuxino-lime.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/a10-olinuxino-lime.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun5i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun5i-a10s-olinuxino-micro.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun5i-a10s-olinuxino-micro.dtb"
|
||||
UBOOT_MACHINE = "A10s-OLinuXino-M_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a10s/a10s-olinuxino-m.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a10s/a10s-olinuxino-m.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun5i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun5i-a13-olinuxino.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun5i-a13-olinuxino.dtb"
|
||||
UBOOT_MACHINE = "A13-OLinuXino_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-micro.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-micro.dtb"
|
||||
UBOOT_MACHINE = "A20-OLinuXino_MICRO_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_micro.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_micro.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime.dtb"
|
||||
UBOOT_MACHINE = "A20-OLinuXino-Lime_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime2-emmc.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime2-emmc.dtb"
|
||||
UBOOT_MACHINE = "A20-OLinuXino-Lime2-eMMC_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime2.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime2.dtb"
|
||||
UBOOT_MACHINE = "A20-OLinuXino-Lime2_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"
|
||||
|
@ -5,6 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-olimex-som-evb.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olimex-som-evb.dtb"
|
||||
UBOOT_MACHINE = "A20-Olimex-SOM-EVB_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"
|
||||
|
28
conf/machine/orange-pi-3lts.conf
Normal file
28
conf/machine/orange-pi-3lts.conf
Normal file
@ -0,0 +1,28 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-3lts
|
||||
#@DESCRIPTION: Machine configuration for the Orange Pi 3 LTS , based on Allwinner H6 CPU
|
||||
# Note: Some boards have faulty RTC a fix is included by default
|
||||
# a workarround in the dts ins include by default but in can removed adding
|
||||
# KERNEL_FEATURES:remove = " bsp/orange-pi-3lts/fix-rtc.scc" to local.conf
|
||||
|
||||
require conf/machine/include/sun50i-h6.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-3-lts.dtb"
|
||||
UBOOT_MACHINE = "orangepi_3_lts_defconfig"
|
||||
|
||||
SPL_BINARY = "u-boot-sunxi-with-spl.bin"
|
||||
|
||||
# as for now neither graphics nor audio is supported
|
||||
MACHINE_FEATURES:remove = " x11 alsa rtc"
|
||||
MACHINE_FEATURES:append = " bluetooth wifi"
|
||||
|
||||
# fiwrware needed for wifi + bt
|
||||
MACHINE_EXTRA_RRECOMMENDS += " uwe5622-firmware"
|
||||
|
||||
# Load modules for wifi & bt
|
||||
# Note: fo wifi a custom hci attach userspace sofware is needed that is not included in the layer
|
||||
KERNEL_MODULE_AUTOLOAD += " sprdwl_ng sprdbt_tty "
|
||||
|
||||
|
||||
|
||||
|
8
conf/machine/orange-pi-lite.conf
Normal file
8
conf/machine/orange-pi-lite.conf
Normal file
@ -0,0 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-lite
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-lite, based on Allwinner H3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-lite.dtb"
|
||||
UBOOT_MACHINE = "orangepi_lite_defconfig"
|
9
conf/machine/orange-pi-one-plus.conf
Normal file
9
conf/machine/orange-pi-one-plus.conf
Normal file
@ -0,0 +1,9 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-one-plus
|
||||
#@DESCRIPTION: Machine configuration for the Orange Pi One Plus, based on Allwinner H6 CPU
|
||||
|
||||
|
||||
require conf/machine/include/sun50i-h6.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-one-plus.dtb"
|
||||
UBOOT_MACHINE = "orangepi_one_plus_defconfig"
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-one.dtb"
|
||||
UBOOT_MACHINE = "orangepi_one_defconfig"
|
||||
|
||||
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc-plus.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-pc-plus.dtb"
|
||||
UBOOT_MACHINE = "orangepi_pc_plus_defconfig"
|
||||
|
||||
|
@ -4,6 +4,5 @@
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-pc.dtb"
|
||||
UBOOT_MACHINE = "orangepi_pc_defconfig"
|
||||
|
||||
|
8
conf/machine/orange-pi-pc2.conf
Normal file
8
conf/machine/orange-pi-pc2.conf
Normal file
@ -0,0 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orangepi-pc2
|
||||
#@DESCRIPTION: Machine configuration for the orangepi-pc2, based on Allwinner A64 CPU
|
||||
|
||||
require conf/machine/include/sun50i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-pc2.dtb"
|
||||
UBOOT_MACHINE = "orangepi_pc2_defconfig"
|
11
conf/machine/orange-pi-prime.conf
Normal file
11
conf/machine/orange-pi-prime.conf
Normal file
@ -0,0 +1,11 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-prime
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-prime, base on Allwinner H5 CPU
|
||||
|
||||
require conf/machine/include/sun50i.inc
|
||||
require conf/machine/include/hardware/ap6212a.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-prime.dtb"
|
||||
UBOOT_MACHINE = "orangepi_prime_defconfig"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-rtl8723"
|
8
conf/machine/orange-pi-r1.conf
Normal file
8
conf/machine/orange-pi-r1.conf
Normal file
@ -0,0 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-r1
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-r1, base on allwinner H2+ CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-orangepi-r1.dtb"
|
||||
UBOOT_MACHINE = "orangepi_r1_defconfig"
|
@ -5,5 +5,5 @@
|
||||
require conf/machine/include/sun8i.inc
|
||||
require conf/machine/include/hardware/ap6212a.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-zero-plus2.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-zero-plus2.dtb"
|
||||
UBOOT_MACHINE = "orangepi_zero_plus2_h3_defconfig"
|
||||
|
@ -1,9 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-one
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
|
||||
#@NAME: orange-pi-zero
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-zero, based on Allwinner H2 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h2-plus-orangepi-zero.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-orangepi-zero.dtb"
|
||||
UBOOT_MACHINE = "orangepi_zero_defconfig"
|
||||
|
||||
|
21
conf/machine/orange-pi-zero2.conf
Normal file
21
conf/machine/orange-pi-zero2.conf
Normal file
@ -0,0 +1,21 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-zero-2
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-zero-2, based on Allwinner H616 CPU
|
||||
|
||||
require conf/machine/include/sun50i-h616.inc
|
||||
|
||||
KERNEL_DEVICETREE = "allwinner/sun50i-h616-orangepi-zero2.dtb"
|
||||
UBOOT_MACHINE = "orangepi_zero2_defconfig"
|
||||
|
||||
SPL_BINARY = "u-boot-sunxi-with-spl.bin"
|
||||
|
||||
# as for now neither graphics nor audio is supported
|
||||
MACHINE_FEATURES:remove = "alsa x11"
|
||||
MACHINE_FEATURES:append = "bluetooth wifi"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = "uwe5622-firmware"
|
||||
|
||||
# Load modules for wifi & bt
|
||||
# Note: fo wifi a custom hci attach userspace sofware is needed that is not included in the layer
|
||||
KERNEL_MODULE_AUTOLOAD += " sprdwl_ng sprdbt_tty "
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun4i-a10-pcduino.dtb"
|
||||
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"
|
||||
|
@ -4,6 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-pcduino3.dtb"
|
||||
KERNEL_DEVICETREE = "allwinner/sun7i-a20-pcduino3.dtb"
|
||||
UBOOT_MACHINE = "Linksprite_pcDuino3_defconfig"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex"
|
||||
|
@ -1,27 +0,0 @@
|
||||
DESCRIPTION = "ARM Trusted Firmware Allwinner"
|
||||
LICENSE = "BSD"
|
||||
LIC_FILES_CHKSUM = "file://license.md;md5=829bdeb34c1d9044f393d5a16c068371"
|
||||
|
||||
SRC_URI = "git://github.com/apritzel/arm-trusted-firmware;nobranch=1"
|
||||
SRCREV = "aa75c8da415158a94b82a430b2b40000778e851f"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
COMPATIBLE_MACHINE = "(sun50i)"
|
||||
|
||||
PLATFORM_sun50i = "sun50iw1p1"
|
||||
|
||||
LDFLAGS[unexport] = "1"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake -C ${S} BUILD_BASE=${B} \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
PLAT=${PLATFORM} \
|
||||
bl31 \
|
||||
all
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -D -p -m 0644 ${B}/${PLATFORM}/release/bl31.bin ${DEPLOY_DIR_IMAGE}/bl31.bin
|
||||
}
|
@ -9,9 +9,9 @@ PR = "r0"
|
||||
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
|
||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-boards.git;protocol=git"
|
||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-boards.git;protocol=https;branch=master"
|
||||
# Increase PV with SRCREV change
|
||||
SRCREV = "496ef0fbd166cc2395daa76dd3c359357420963d"
|
||||
SRCREV = "af5f938ea14a3614d35ad3d9ab51a5d392117444"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
COMPATIBLE_MACHINE:sunxi = "(sun50i|sun50i-h616|sun50i-h6)"
|
||||
|
||||
TFA_PLATFORM:sun50i = "sun50i_a64"
|
||||
TFA_PLATFORM:sun50i-h6 = "sun50i_h6"
|
||||
TFA_PLATFORM:sun50i-h616 = "sun50i_h616"
|
||||
|
||||
TFA_BUILD_TARGET:sunxi = "bl31"
|
@ -1,20 +1,21 @@
|
||||
From b1e4b9672d7bdd4a6a4d08b1514b46af25996cc8 Mon Sep 17 00:00:00 2001
|
||||
From 6a64d90ca4d976c16a2e102dbad0848e4d29776c Mon Sep 17 00:00:00 2001
|
||||
From: Florin Sarbu <florin@resin.io>
|
||||
Date: Wed, 12 Sep 2018 14:22:49 +0200
|
||||
Subject: [PATCH] nanopi_neo_air_defconfig: Enable eMMC support
|
||||
|
||||
Upstream-status: Pending
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Florin Sarbu <florin@resin.io>
|
||||
|
||||
---
|
||||
configs/nanopi_neo_air_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig
|
||||
index baaccf145e..77fa1489e4 100644
|
||||
index 806d95c1cc..8899cc3a15 100644
|
||||
--- a/configs/nanopi_neo_air_defconfig
|
||||
+++ b/configs/nanopi_neo_air_defconfig
|
||||
@@ -9,3 +9,4 @@ CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air"
|
||||
@@ -9,3 +9,4 @@ CONFIG_DRAM_CLK=408
|
||||
CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
||||
|
@ -0,0 +1,41 @@
|
||||
From f4dde09fa41eb538b743ee2104c1e2e10cc7e13f Mon Sep 17 00:00:00 2001
|
||||
From: Leon Anavi <leon.anavi@konsulko.com>
|
||||
Date: Sat, 14 Dec 2024 10:59:09 +0000
|
||||
Subject: [PATCH] sunxi: board: Fix early PMIC setup conditions
|
||||
|
||||
Patch provided by Andre Przywara through the U-Boot mailing list:
|
||||
https://lists.denx.de/pipermail/u-boot/2024-December/575050.html
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Suggested-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
|
||||
---
|
||||
board/sunxi/board.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
|
||||
index 961cdcde74..d6759fe853 100644
|
||||
--- a/board/sunxi/board.c
|
||||
+++ b/board/sunxi/board.c
|
||||
@@ -577,7 +577,6 @@ void sunxi_board_init(void)
|
||||
|
||||
#ifdef CONFIG_AXP_DCDC1_VOLT
|
||||
power_failed |= axp_set_dcdc1(CONFIG_AXP_DCDC1_VOLT);
|
||||
- power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT);
|
||||
#endif
|
||||
#ifdef CONFIG_AXP_DCDC2_VOLT
|
||||
power_failed |= axp_set_dcdc2(CONFIG_AXP_DCDC2_VOLT);
|
||||
@@ -586,6 +585,9 @@ void sunxi_board_init(void)
|
||||
#ifdef CONFIG_AXP_DCDC4_VOLT
|
||||
power_failed |= axp_set_dcdc4(CONFIG_AXP_DCDC4_VOLT);
|
||||
#endif
|
||||
+#ifdef CONFIG_AXP_DCDC5_VOLT
|
||||
+ power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT);
|
||||
+#endif
|
||||
|
||||
#ifdef CONFIG_AXP_ALDO1_VOLT
|
||||
power_failed |= axp_set_aldo1(CONFIG_AXP_ALDO1_VOLT);
|
||||
--
|
||||
2.47.1
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 767a05572ef5b93c2e157749b1754cbe261ee43d Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
Date: Fri, 8 Apr 2022 11:33:53 +0200
|
||||
Subject: [PATCH] Added nanopi-r1 board support
|
||||
|
||||
Patch taken from : https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sunxi/add-nanopi-r1-and-duo2.patch
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
---
|
||||
diff --git a/configs/nanopi_r1_defconfig b/configs/nanopi_r1_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..e028b41
|
||||
--- /dev/null
|
||||
+++ b/configs/nanopi_r1_defconfig
|
||||
@@ -0,0 +1,22 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_SUNXI=y
|
||||
+CONFIG_SPL=y
|
||||
+CONFIG_MACH_SUN8I_H3=y
|
||||
+CONFIG_DRAM_CLK=408
|
||||
+CONFIG_DRAM_ZQ=3881979
|
||||
+CONFIG_DRAM_ODT_EN=y
|
||||
+CONFIG_MACPWR="PD6"
|
||||
+# CONFIG_VIDEO_DE2 is not set
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
+CONFIG_CONSOLE_MUX=y
|
||||
+CONFIG_SYS_CLK_FREQ=480000000
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+# CONFIG_SPL_DOS_PARTITION is not set
|
||||
+# CONFIG_SPL_EFI_PARTITION is not set
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-r1"
|
||||
+CONFIG_SUN8I_EMAC=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,58 @@
|
||||
From: Anne Macedo <retpolanne@posteo.net>
|
||||
Date: Tue, 11 Jul 2023 00:39:58 +0000
|
||||
Subject: [PATCH] sunxi: H6: Enable Ethernet on Orange Pi One Plus
|
||||
|
||||
Enable Ethernet on Orange Pi One Plus by using the correct phy for
|
||||
Realtek RTL8211E instead of the Generic One. Also use CONFIG_MACPWR to
|
||||
turn on ethernet on startup.
|
||||
|
||||
After this patch is applied, a few issues can be seen:
|
||||
|
||||
- there's still a PHY reset timed out error that doesn't seem to cause
|
||||
any impacts to the overall connection
|
||||
|
||||
- sometimes the emac driver times out after reset (yellow LED turns on
|
||||
and never blinks)
|
||||
|
||||
For future patches: for now, CONFIG_MACPWR is the only way to enable
|
||||
Ethernet on boot. There's already code on the dts for using the 3v3-gmac
|
||||
regulator. However, it is not probed on boot, so it only starts after a
|
||||
"regulator status" command is issued.
|
||||
|
||||
More details about the troubleshooting on [1].
|
||||
|
||||
Upstream-Status: Submitted
|
||||
|
||||
[1] https://lore.kernel.org/u-boot/4wsvwgy56e2xfgtvioru2tf2ofkqprlts36qggivxogww6pn5j@4jk63zxhzhag/
|
||||
|
||||
Signed-off-by: Anne Macedo <retpolanne@posteo.net>
|
||||
---
|
||||
arch/arm/dts/sun50i-h6-orangepi-one-plus.dts | 2 +-
|
||||
configs/orangepi_one_plus_defconfig | 4 ++++
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
|
||||
index 29a081e72a..6427c58f8a 100644
|
||||
--- a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
|
||||
+++ b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
&mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
- compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ compatible = "ethernet-phy-id001c.c915", "ethernet-phy-ieee802.3-c22" ;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
diff --git a/configs/orangepi_one_plus_defconfig b/configs/orangepi_one_plus_defconfig
|
||||
index aa5f540eb1..a1835492db 100644
|
||||
--- a/configs/orangepi_one_plus_defconfig
|
||||
+++ b/configs/orangepi_one_plus_defconfig
|
||||
@@ -8,3 +8,7 @@ CONFIG_SUNXI_DRAM_H6_LPDDR3=y
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_SUN8I_EMAC=y
|
||||
+CONFIG_PHY_REALTEK=y
|
||||
+CONFIG_PHY_ETHERNET_ID=y
|
||||
+CONFIG_MACPWR="PD6"
|
421
recipes-bsp/u-boot/files/0004-OrangePi-3-LTS-support.patch
Normal file
421
recipes-bsp/u-boot/files/0004-OrangePi-3-LTS-support.patch
Normal file
@ -0,0 +1,421 @@
|
||||
From 9966dda20246285abf8b417bd251d5a4bea3e423 Mon Sep 17 00:00:00 2001
|
||||
From: Juliano Dorigão <jdorigao@gmail.com>
|
||||
Date: Fri, 3 Mar 2023 16:11:30 -0400
|
||||
Subject: [PATCH] OrangePi 3 LTS support
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/sun50i-h6-orangepi-3-lts.dts | 361 ++++++++++++++++++++++
|
||||
configs/orangepi_3_lts_defconfig | 19 ++
|
||||
3 files changed, 381 insertions(+)
|
||||
create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
|
||||
create mode 100644 configs/orangepi_3_lts_defconfig
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 43951a77..8dbbb6f4 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -710,6 +710,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \
|
||||
dtb-$(CONFIG_MACH_SUN50I_H6) += \
|
||||
sun50i-h6-beelink-gs1.dtb \
|
||||
sun50i-h6-orangepi-3.dtb \
|
||||
+ sun50i-h6-orangepi-3-lts.dtb \
|
||||
sun50i-h6-orangepi-lite2.dtb \
|
||||
sun50i-h6-orangepi-one-plus.dtb \
|
||||
sun50i-h6-pine-h64.dtb \
|
||||
diff --git a/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts b/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
|
||||
new file mode 100644
|
||||
index 00000000..67f38b8a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
|
||||
@@ -0,0 +1,361 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2023 Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
+// Based on sun50i-h6-orangepi-3.dts, which is:
|
||||
+// Copyright (C) 2019 Ondřej Jirman <megous@megous.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h6.dtsi"
|
||||
+#include "sun50i-h6-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "OrangePi 3 LTS";
|
||||
+ compatible = "xunlong,orangepi-3-lts", "allwinner,sun50i-h6";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ext_osc32k: ext_osc32k_clk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <32768>;
|
||||
+ clock-output-names = "ext_osc32k";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-0 {
|
||||
+ label = "orangepi:red:power";
|
||||
+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
||||
+ };
|
||||
+
|
||||
+ led-1 {
|
||||
+ label = "orangepi:green:status";
|
||||
+ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v: vcc5v {
|
||||
+ /* board wide 5V supply directly from the DC jack */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ reg_gmac_3v3: gmac-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "gmac-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <150000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc33_wifi: vcc33-wifi {
|
||||
+ /* Always on 3.3V regulator for WiFi and BT */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc33-wifi";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_wifi_io: vcc-wifi-io {
|
||||
+ /* Always on 1.8V/300mA regulator for WiFi and BT IO */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-wifi-io";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-always-on;
|
||||
+ vin-supply = <®_vcc33_wifi>;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ clocks = <&rtc 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdca>;
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dwc3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ allwinner,rx-delay-ps = <1500>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gpu {
|
||||
+ mali-supply = <®_dcdcc>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ hvcc-supply = <®_bldo2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+
|
||||
+ reset-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */
|
||||
+ reset-assert-us = <15000>;
|
||||
+ reset-deassert-us = <40000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_cldo1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc33_wifi>;
|
||||
+ vqmmc-supply = <®_vcc_wifi_io>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ vmmc-supply = <®_cldo1>;
|
||||
+ vqmmc-supply = <®_bldo2>;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ non-removable;
|
||||
+ bus-width = <8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pc-supply = <®_bldo2>;
|
||||
+ vcc-pd-supply = <®_cldo1>;
|
||||
+ vcc-pg-supply = <®_bldo3>;
|
||||
+};
|
||||
+
|
||||
+&r_ir {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ clock-frequency = <100000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp805: pmic@745 {
|
||||
+ compatible = "x-powers,axp805", "x-powers,axp806";
|
||||
+ reg = <0x745>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ x-powers,self-working-mode;
|
||||
+ vina-supply = <®_vcc5v>;
|
||||
+ vinb-supply = <®_vcc5v>;
|
||||
+ vinc-supply = <®_vcc5v>;
|
||||
+ vind-supply = <®_vcc5v>;
|
||||
+ vine-supply = <®_vcc5v>;
|
||||
+ aldoin-supply = <®_vcc5v>;
|
||||
+ bldoin-supply = <®_vcc5v>;
|
||||
+ cldoin-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pl-led-ir";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo2: aldo2 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc33-audio-tv-ephy-mac";
|
||||
+ };
|
||||
+
|
||||
+ /* ALDO3 is shorted to CLDO1 */
|
||||
+ reg_aldo3: aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo1: bldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc18-dram-bias-pll";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo2: bldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-efuse-pcie-hdmi-pc";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo3: bldo3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-pm-pg-dcxoio-wifi";
|
||||
+ };
|
||||
+
|
||||
+ bldo4 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_cldo1: cldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
|
||||
+ };
|
||||
+
|
||||
+ cldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdca: dcdca {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1160000>;
|
||||
+ regulator-ramp-delay = <2500>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcc: dcdcc {
|
||||
+ regulator-enable-ramp-delay = <32000>;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-ramp-delay = <2500>;
|
||||
+ regulator-name = "vdd-gpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcd: dcdcd {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <980000>;
|
||||
+ regulator-max-microvolt = <980000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdce: dcdce {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+ };
|
||||
+
|
||||
+ sw {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_ir {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&rtc {
|
||||
+ clocks = <&ext_osc32k>;
|
||||
+};
|
||||
+
|
||||
+/delete-node/ &spi0;
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ph_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2otg {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy {
|
||||
+ usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */
|
||||
+ usb0_vbus-supply = <®_vcc5v>;
|
||||
+ usb3_vbus-supply = <®_vcc5v>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb3phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/configs/orangepi_3_lts_defconfig b/configs/orangepi_3_lts_defconfig
|
||||
new file mode 100644
|
||||
index 00000000..41a9af4e
|
||||
--- /dev/null
|
||||
+++ b/configs/orangepi_3_lts_defconfig
|
||||
@@ -0,0 +1,19 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_SUNXI=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-3-lts"
|
||||
+CONFIG_SPL=y
|
||||
+CONFIG_MACH_SUN50I_H6=y
|
||||
+CONFIG_SUNXI_DRAM_H6_LPDDR3=y
|
||||
+CONFIG_MMC0_CD_PIN="PF6"
|
||||
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
||||
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
+CONFIG_SPL_STACK=0x118000
|
||||
+CONFIG_SYS_PBSIZE=1024
|
||||
+CONFIG_SYS_BOOTM_LEN=0x2000000
|
||||
+CONFIG_PHY_SUN50I_USB3=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
--
|
||||
2.39.2
|
||||
|
@ -0,0 +1,30 @@
|
||||
From bf813915bf480154c707e0be14016cef94adbd95 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@gmail.com>
|
||||
Date: Tue, 7 May 2024 11:27:08 +0200
|
||||
Subject: [PATCH] mangopi-mq-r-t113: Fix serial console
|
||||
|
||||
Serial console is on uart3 not on uart0.
|
||||
|
||||
Upstream-Status: Inappropriate (for this board only)
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
|
||||
---
|
||||
include/configs/sunxi-common.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
|
||||
index b8ca77d031..4e4808d2c1 100644
|
||||
--- a/include/configs/sunxi-common.h
|
||||
+++ b/include/configs/sunxi-common.h
|
||||
@@ -324,7 +324,7 @@
|
||||
MEM_LAYOUT_ENV_EXTRA_SETTINGS \
|
||||
DFU_ALT_INFO_RAM \
|
||||
"fdtfile=" FDTFILE "\0" \
|
||||
- "console=ttyS0,115200\0" \
|
||||
+ "console=ttyS3,115200\0" \
|
||||
"uuid_gpt_esp=" UUID_GPT_ESP "\0" \
|
||||
"uuid_gpt_system=" UUID_GPT_SYSTEM "\0" \
|
||||
"partitions=" PARTS_DEFAULT "\0" \
|
||||
--
|
||||
2.25.1
|
||||
|
@ -6,6 +6,6 @@ if itest.b *0x28 == 0x02 ; then
|
||||
rootdev=mmcblk1p2
|
||||
fi
|
||||
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
|
||||
load mmc 0:1 ${fdt_addr_r} ${fdtfile} || load mmc 0:1 ${fdt_addr_r} boot/${fdtfile}
|
||||
load mmc 0:1 ${fdt_addr_r} ${fdtfile} || load mmc 0:1 ${fdt_addr_r} boot/allwinner/${fdtfile}
|
||||
load mmc 0:1 ${kernel_addr_r} zImage || load mmc 0:1 ${kernel_addr_r} boot/zImage || load mmc 0:1 ${kernel_addr_r} uImage || load mmc 0:1 ${kernel_addr_r} boot/uImage
|
||||
bootz ${kernel_addr_r} - ${fdt_addr_r} || bootm ${kernel_addr_r} - ${fdt_addr_r}
|
||||
|
11
recipes-bsp/u-boot/files/bananapi-m64/boot.cmd
Normal file
11
recipes-bsp/u-boot/files/bananapi-m64/boot.cmd
Normal file
@ -0,0 +1,11 @@
|
||||
# Default to (primary) SD
|
||||
rootdev=mmcblk0p2
|
||||
if itest.b *0x28 == 0x02 ; then
|
||||
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
|
||||
echo "U-boot loaded from eMMC or secondary SD"
|
||||
rootdev=mmcblk2p2
|
||||
fi
|
||||
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
|
||||
load mmc 0:1 ${fdt_addr_r} ${fdtfile}
|
||||
load mmc 0:1 ${kernel_addr_r} Image
|
||||
booti ${kernel_addr_r} - ${fdt_addr_r}
|
@ -2,7 +2,7 @@ DESCRIPTION = "U-Boot port for sunxi"
|
||||
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
# No patches for other machines yet
|
||||
@ -19,7 +19,7 @@ UBOOT_MACHINE_olinuxino-a10s = "A10s-OLinuXino-Micro_config"
|
||||
UBOOT_MACHINE_meleg = "Mele_A1000G_config"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
|
||||
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=https;branch=sunxi \
|
||||
file://0001-gcc5-fixes.patch \
|
||||
file://0002-gcc6-fixes.patch \
|
||||
file://0003-No-gcc-version-specific-includes.patch \
|
||||
|
@ -1,29 +1,39 @@
|
||||
FILESEXTRAPATHS_prepend_sunxi := "${THISDIR}/files:"
|
||||
FILESEXTRAPATHS:prepend:sunxi := "${THISDIR}/files:"
|
||||
|
||||
DEPENDS_append_sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native "
|
||||
DEPENDS_append_sun50i = " atf-sunxi "
|
||||
DEPENDS:append:sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native "
|
||||
DEPENDS:append:sun50i = " trusted-firmware-a"
|
||||
|
||||
COMPATIBLE_MACHINE_sunxi = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
|
||||
COMPATIBLE_MACHINE:sunxi = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
|
||||
|
||||
DEFAULT_PREFERENCE_sun4i="1"
|
||||
DEFAULT_PREFERENCE_sun5i="1"
|
||||
DEFAULT_PREFERENCE_sun7i="1"
|
||||
DEFAULT_PREFERENCE_sun8i="1"
|
||||
DEFAULT_PREFERENCE_sun50i="1"
|
||||
DEFAULT_PREFERENCE:sun4i = "1"
|
||||
DEFAULT_PREFERENCE:sun5i = "1"
|
||||
DEFAULT_PREFERENCE:sun7i = "1"
|
||||
DEFAULT_PREFERENCE:sun8i = "1"
|
||||
DEFAULT_PREFERENCE:sun50i = "1"
|
||||
|
||||
SRC_URI_append_sunxi = " \
|
||||
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
|
||||
file://boot.cmd \
|
||||
"
|
||||
SRC_URI:append:sunxi = " \
|
||||
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
|
||||
file://0002-Added-nanopi-r1-board-support.patch \
|
||||
file://0003-sunxi-H6-Enable-Ethernet-on-Orange-Pi-One-Plus.patch \
|
||||
file://0004-OrangePi-3-LTS-support.patch \
|
||||
file://boot.cmd \
|
||||
"
|
||||
SRC_URI:append:sun9i = " \
|
||||
file://0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch \
|
||||
"
|
||||
|
||||
UBOOT_ENV_SUFFIX_sunxi = "scr"
|
||||
UBOOT_ENV_sunxi = "boot"
|
||||
SRC_URI:append:mangopi-mq-t-t113 = " \
|
||||
file://0004-mangopi-mq-r-t113-Fix-serial-console.patch \
|
||||
"
|
||||
|
||||
EXTRA_OEMAKE_append_sunxi = ' HOSTLDSHARED="${BUILD_CC} -shared ${BUILD_LDFLAGS} ${BUILD_CFLAGS}" '
|
||||
EXTRA_OEMAKE_append_sun50i = " BL31=${DEPLOY_DIR_IMAGE}/bl31.bin "
|
||||
UBOOT_ENV_SUFFIX:sunxi = "scr"
|
||||
UBOOT_ENV:sunxi = "boot"
|
||||
|
||||
do_compile_sun50i[depends] += "atf-sunxi:do_deploy"
|
||||
EXTRA_OEMAKE:append:sunxi = ' HOSTLDSHARED="${BUILD_CC} -shared ${BUILD_LDFLAGS} ${BUILD_CFLAGS}" '
|
||||
EXTRA_OEMAKE:append:sun50i = " BL31=${DEPLOY_DIR_IMAGE}/bl31.bin SCP=/dev/null"
|
||||
|
||||
do_compile_append_sunxi() {
|
||||
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||
do_compile:sun50i[depends] += "trusted-firmware-a:do_deploy"
|
||||
|
||||
do_compile:append:sunxi() {
|
||||
${B}/tools/mkimage -C none -A arm -T script -d ${UNPACKDIR}/boot.cmd ${UNPACKDIR}/${UBOOT_ENV_BINARY}
|
||||
}
|
||||
|
1
recipes-devtools/python/files/olinuxino-a20lime2-emmc
Symbolic link
1
recipes-devtools/python/files/olinuxino-a20lime2-emmc
Symbolic link
@ -0,0 +1 @@
|
||||
/home/marek/data/projects/kas/sources/meta-sunxi/recipes-devtools/python/files/olinuxino-a20lime2
|
@ -1,7 +1,7 @@
|
||||
DESCRIPTION = "A module to control Allwinner GPIO,SPI and I2C channels"
|
||||
HOMEPAGE = "https://pypi.python.org/pypi/pyA20"
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "GPLv3"
|
||||
LICENSE = "GPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4e584373bb0f46ef1e423cb7df37847d"
|
||||
DEPENDS = "python3"
|
||||
|
||||
@ -13,10 +13,10 @@ SRC_URI = "https://pypi.python.org/packages/source/p/pyA20/pyA20-${PV}.tar.gz \
|
||||
"
|
||||
S = "${WORKDIR}/pyA20-${PV}"
|
||||
|
||||
inherit distutils3
|
||||
inherit setuptools3
|
||||
|
||||
do_compile_prepend() {
|
||||
cp ${WORKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
|
||||
do_compile:prepend() {
|
||||
cp ${UNPACKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
|
||||
}
|
||||
|
||||
SRC_URI[md5sum] = "cab03b4931199804603d1074f6d8f48f"
|
||||
|
@ -21,8 +21,8 @@ python __anonymous() {
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
|
||||
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
|
||||
SRCREV = "d343311efc8db166d8371b28494f0f27b6a58724"
|
||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-mali.git;protocol=https;branch=master \
|
||||
file://0001-Add-EGLSyncKHR-EGLTimeKHR-and-GLChar-definition.patch \
|
||||
file://0002-Add-missing-GLchar-definition.patch \
|
||||
file://0003-Fix-sed-to-replace-by-the-correct-var.patch \
|
||||
@ -92,13 +92,13 @@ do_install() {
|
||||
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||
RDEPENDS_${PN}-test = "${PN}"
|
||||
RPROVIDES:${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||
RDEPENDS:${PN}-test = "${PN}"
|
||||
|
||||
FILES_${PN} += "${libdir}/lib*.so"
|
||||
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
|
||||
FILES_${PN}-test = "${bindir}/sunximali-test"
|
||||
FILES:${PN} += "${libdir}/lib*.so"
|
||||
FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
|
||||
FILES:${PN}-test = "${bindir}/sunximali-test"
|
||||
|
||||
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
|
||||
INSANE_SKIP_${PN} = "dev-so ldflags textrel"
|
||||
INSANE_SKIP_${PN}-test = "dev-so ldflags textrel"
|
||||
INSANE_SKIP:${PN} = "dev-so ldflags textrel"
|
||||
INSANE_SKIP:${PN}-test = "dev-so ldflags textrel"
|
||||
|
@ -1,14 +1,14 @@
|
||||
DESCRIPTION = "Unified Memory Provider userspace API source code needed for xf86-video-mali compilation"
|
||||
|
||||
LICENSE = "Apache-2"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://debian/copyright;md5=edf7fb6071cae7ec80d537a05ee17198"
|
||||
|
||||
inherit autotools
|
||||
|
||||
PV = "r4p0-00rel0+git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "ec0680628744f30b8fac35e41a7bd8e23e59c39f"
|
||||
SRCREV = "ec0680628744f30b8fac35e41a7bd8e23e59c39f"
|
||||
|
||||
SRC_URI = "git://github.com/linux-sunxi/libump.git"
|
||||
SRC_URI = "git://github.com/linux-sunxi/libump.git;protocol=https;branch=master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
1
recipes-graphics/mesa/mesa-gl.bbappend
Normal file
1
recipes-graphics/mesa/mesa-gl.bbappend
Normal file
@ -0,0 +1 @@
|
||||
PACKAGECONFIG:class-target = "opengl x11 gallium"
|
@ -1,5 +1,5 @@
|
||||
# Enable lima and panfrost Mesa drivers
|
||||
PACKAGECONFIG_append_use-mailine-graphics = " lima panfrost"
|
||||
PACKAGECONFIG:append:use-mailine-graphics = " lima panfrost"
|
||||
# Enable KMS renderonly Mesa support
|
||||
# See https://cgit.freedesktop.org/mesa/mesa/commit/?id=2b780fe89300199f2334539aa1678e9b68f0434f
|
||||
GALLIUMDRIVERS_append_use-mailine-graphics = ",kmsro"
|
||||
GALLIUMDRIVERS:append:use-mailine-graphics = ",kmsro"
|
@ -1,4 +1,4 @@
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI += "file://tslib.patch"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
DESCRIPTION = "Library for the DRI2 extension to the X Window System"
|
||||
|
||||
LICENSE = "MIT-X"
|
||||
LICENSE = "MIT-CMU"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c"
|
||||
|
||||
DEPENDS = "libdrm libxext libxfixes xorgproto"
|
||||
@ -9,7 +9,7 @@ PE = "1"
|
||||
PV = "1.0.0+git${SRCPV}"
|
||||
SRC_URI = "git://github.com/robclark/libdri2.git;protocol=http;branch=master"
|
||||
|
||||
SRCREV_pn-${PN} = "4f1eef3183df2b270c3d5cbef07343ee5127a6a4"
|
||||
SRCREV = "4f1eef3183df2b270c3d5cbef07343ee5127a6a4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
@ -2,14 +2,14 @@ require recipes-graphics/xorg-driver/xorg-driver-video.inc
|
||||
|
||||
DESCRIPTION = "X.Org X server -- A10/A13 display driver"
|
||||
|
||||
LICENSE = "MIT-X"
|
||||
LICENSE = "MIT-CMU"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=f91dc3ee5ce59eb4b528e67e98a31266"
|
||||
|
||||
DEPENDS += "sunxi-mali libump xorgproto"
|
||||
|
||||
PE = "3"
|
||||
PV = "0.5.1+git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "e094e3c8f9004ca3347694bd05b99d136e8621b9"
|
||||
SRCREV = "e094e3c8f9004ca3347694bd05b99d136e8621b9"
|
||||
|
||||
SRC_URI = "git://github.com/ssvb/xf86-video-fbturbo.git;protocol=http;branch=master \
|
||||
file://20-fbturbo.conf"
|
||||
@ -18,9 +18,9 @@ S = "${WORKDIR}/git"
|
||||
|
||||
CFLAGS += " -I${STAGING_INCDIR}/xorg "
|
||||
|
||||
do_install_append() {
|
||||
do_install:append() {
|
||||
install -d ${D}${datadir}/X11/xorg.conf.d
|
||||
install -m 0644 ${WORKDIR}/20-fbturbo.conf ${D}${datadir}/X11/xorg.conf.d
|
||||
install -m 0644 ${UNPACKDIR}/20-fbturbo.conf ${D}${datadir}/X11/xorg.conf.d
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/X11/xorg.conf.d/20-fbturbo.conf"
|
||||
FILES:${PN} += "${datadir}/X11/xorg.conf.d/20-fbturbo.conf"
|
||||
|
@ -1 +1 @@
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
1
recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
Normal file
1
recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
Normal file
@ -0,0 +1 @@
|
||||
PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"
|
37
recipes-kernel/armbian-firmware/armbian-firmware_git.bb
Normal file
37
recipes-kernel/armbian-firmware/armbian-firmware_git.bb
Normal file
@ -0,0 +1,37 @@
|
||||
SUMMARY = "Armbian Firmware"
|
||||
DESCRIPTION = "Collection of firmware files necessary for Armbian supported hardware devices to work correctly with the Linux kernel"
|
||||
LICENSE = "CLOSED"
|
||||
|
||||
PV = "1.0+git"
|
||||
SRC_URI = "git://github.com/armbian/firmware.git;protocol=https;branch=master"
|
||||
SRCREV = "4050e02da2dce2b74c97101f7964ecfb962f5aec"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit allarch
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
# ap6212 (bluetooth firmware only, wifi firmware is provided by linux-firmware-bcm43430)
|
||||
install -d "${D}${nonarch_base_libdir}/firmware/ap6212"
|
||||
install -m 0644 "${S}/ap6212/bcm43438a1.hcd" "${D}${nonarch_base_libdir}/firmware/ap6212/"
|
||||
install -d "${D}${nonarch_base_libdir}/firmware/brcm"
|
||||
ln -sf ../ap6212/bcm43438a1.hcd "${D}${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd"
|
||||
}
|
||||
|
||||
PACKAGES =+ " \
|
||||
${PN}-ap6212 \
|
||||
"
|
||||
|
||||
FILES:${PN}-ap6212 = " \
|
||||
${nonarch_base_libdir}/firmware/ap6212/* \
|
||||
${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \
|
||||
"
|
||||
|
||||
|
||||
# Make armbian-firmware depend on all of the split-out packages.
|
||||
python populate_packages:prepend () {
|
||||
firmware_pkgs = oe.utils.packages_filter_out_system(d)
|
||||
d.appendVar('RRECOMMENDS:armbian-firmware', ' ' + ' '.join(firmware_pkgs))
|
||||
}
|
@ -6,8 +6,21 @@
|
||||
# WARNING: The following commit is required for NVRAM files to be included in
|
||||
# linux-firmware-bcm43430 package:
|
||||
# http://git.openembedded.org/openembedded-core/commit/?id=dde0f79f32fa6bab045ef60199903f74c4cc3393
|
||||
do_install_append() {
|
||||
do_install:append:sunxi() {
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.xunlong,orangepi-zero-plus2.txt
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.xunlong,orangepi-zero-plus2-h3.txt
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-berry.txt
|
||||
}
|
||||
|
||||
do_install:append:cubieboard4() {
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.cubietech,a80-cubieboard4.bin
|
||||
}
|
||||
|
||||
do_install:append:merrii-a80-optimus() {
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.merrii,a80-optimus.bin
|
||||
}
|
||||
|
||||
do_install:append:sun9i() {
|
||||
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.Prowise-PT301.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.txt
|
||||
}
|
||||
|
@ -1,11 +1,14 @@
|
||||
SECTION = "kernel"
|
||||
LICENSE = "GPLv2"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
|
||||
|
||||
inherit kernel
|
||||
|
||||
require linux.inc
|
||||
|
||||
LINUX_VERSION = "${PV}"
|
||||
|
||||
# Since we're not using git, this doesn't make a difference, but we need to fill
|
||||
# in something or kernel-yocto.bbclass will fail.
|
||||
KBRANCH ?= "master"
|
||||
@ -19,14 +22,34 @@ KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
||||
|
||||
S = "${WORKDIR}/linux-${PV}"
|
||||
|
||||
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz \
|
||||
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
|
||||
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
|
||||
file://defconfig \
|
||||
# get release version 5.x or 6.x based on version
|
||||
KRELEASE = "${@d.getVar('PV', True).split('.')[0]}"
|
||||
|
||||
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v${KRELEASE}.x/linux-${PV}.tar.xz \
|
||||
file://defconfig \
|
||||
file://sunxi-kmeta;type=kmeta;name=sunxi-kmeta;destsuffix=sunxi-kmeta \
|
||||
"
|
||||
|
||||
SRC_URI_append_use-mailine-graphics = " file://drm.cfg"
|
||||
SRC_URI_append_bananapi = " file://axp20x.cfg"
|
||||
SRC_URI_append_cubietruck = " file://axp20x.cfg"
|
||||
# patches
|
||||
SRC_URI:append = " \
|
||||
file://patches/0001-dts-orangepi-zero-Add-wifi-support.patch \
|
||||
file://patches/0002-dts-nanopi-neo-air-Add-camera-support.patch \
|
||||
file://patches/0003-dts-allwinner-bananapi-m2-zero-Enforce-consistent-MM.patch \
|
||||
file://patches/0004-dts-allwinner-bananapi-m64-Consistent-nodes-for-mmc-devices.patch \
|
||||
file://patches/0005-ARM-dts-sunxi-Add-MMC-alias-for-consistent-enumerati.patch \
|
||||
file://patches/0006-dts-allwinner-orangepi-zero-mmc-aliases-for-consiste.patch \
|
||||
"
|
||||
|
||||
FILES_${KERNEL_PACKAGE_NAME}-base_append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
|
||||
SRC_URI:append:use-mailine-graphics = " file://drm.cfg"
|
||||
SRC_URI:append:bananapi = " file://axp20x.cfg"
|
||||
SRC_URI:append:bananapi-m2-berry = " file://axp20x.cfg"
|
||||
SRC_URI:append:bananapi-m2-zero = " file://axp20x.cfg"
|
||||
SRC_URI:append:cubietruck = " file://axp20x.cfg"
|
||||
SRC_URI:append:nanopi-neo-air = " file://cam500b.cfg"
|
||||
SRC_URI:append:orange-pi-prime = " \
|
||||
file://0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch \
|
||||
file://0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch \
|
||||
file://0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch \
|
||||
"
|
||||
|
||||
FILES_${KERNEL_PACKAGE_NAME}-base:append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
|
||||
|
@ -1,80 +0,0 @@
|
||||
From 4ca766a768e783ee5198f1935b7f46a5df9b4a35 Mon Sep 17 00:00:00 2001
|
||||
From: Jelle van der Waa <jelle@vdwaa.nl>
|
||||
Date: Tue, 23 Jan 2018 15:58:44 -0800
|
||||
Subject: [PATCH] ARM: dts: nanopi-neo-air: Add WiFi / eMMC
|
||||
|
||||
Enable the WiFi (AP6212) chip and eMMC support for the NanoPi NEO Air.
|
||||
|
||||
This patch was originally submitted by Jelle van der Waa. Martin Kelly
|
||||
modified it to compile on the latest kernel, fixed up some review
|
||||
comments from Maxime Ripard, and re-tested the patch.
|
||||
|
||||
The patch has been reworked to add back eMMC support which has been left
|
||||
out at the last backport.
|
||||
|
||||
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
Cc: linux-sunxi@googlegroups.com
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
|
||||
Signed-off-by: Martin Kelly <mkelly@xevo.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
Signed-off-by: Florin Sarbu <florin@resin.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 34 +++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
index 03ff6f8..a9331fe 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
@@ -72,6 +72,11 @@
|
||||
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
};
|
||||
};
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
+ };
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
@@ -84,6 +89,35 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins_a>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ brcmf: bcrmf@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
--
|
||||
2.11.0
|
||||
|
6
recipes-kernel/linux/linux-mainline/cam500b.cfg
Normal file
6
recipes-kernel/linux/linux-mainline/cam500b.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
|
||||
CONFIG_VIDEO_OV5640=m
|
||||
CONFIG_VIDEO_SUN6I_CSI=m
|
||||
CONFIG_VIDEO_V4L2=m
|
@ -0,0 +1,27 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Gunjan Gupta <viraniac@gmail.com>
|
||||
Date: Sat, 15 Jul 2023 17:06:17 +0000
|
||||
Subject: arm64: dts: sun50i: h5: enable power button for orangepi prime
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index f430acd8558f..35e09098570f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -63,8 +63,9 @@ gpio-keys {
|
||||
|
||||
key-sw4 {
|
||||
label = "sw4";
|
||||
- linux,code = <BTN_0>;
|
||||
+ linux,code = <KEY_POWER>;
|
||||
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
|
||||
+ wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
@ -0,0 +1,66 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:34:31 +0300
|
||||
Subject: arm64:dts: sun50i-h5-orangepi-prime add regulator
|
||||
|
||||
---
|
||||
.../allwinner/sun50i-h5-orangepi-prime.dts | 30 +++++++++++++++++++
|
||||
1 file changed, 30 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 998396bc0..6dc6850c1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Xunlong Orange Pi Prime";
|
||||
@@ -93,6 +94,10 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
};
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
&codec {
|
||||
allwinner,audio-routing =
|
||||
"Line Out", "LINEOUT",
|
||||
@@ -188,6 +193,31 @@ &ohci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ reg_vdd_cpux: regulator@65 {
|
||||
+ compatible = "silergy,sy8106a";
|
||||
+ reg = <0x65>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ silergy,fixed-microvolt = <1200000>;
|
||||
+ /*
|
||||
+ * The datasheet uses 1.1V as the minimum value of VDD-CPUX,
|
||||
+ * however both the Armbian DVFS table and the official one
|
||||
+ * have operating points with voltage under 1.1V, and both
|
||||
+ * DVFS table are known to work properly at the lowest
|
||||
+ * operating point.
|
||||
+ *
|
||||
+ * Use 1.0V as the minimum voltage instead.
|
||||
+ */
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1400000>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
--
|
||||
2.25.1
|
@ -0,0 +1,35 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 7 Feb 2022 19:11:07 +0300
|
||||
Subject: arm64:dts: sun50i-h5-orangepi-prime add rtl8723cs
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 8b92d5e77220..f430acd8558f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -25,6 +25,7 @@ reg_vcc3v3: vcc3v3 {
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
+ ethernet1 = &rtl8723cs;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -174,6 +175,10 @@ &mmc1 {
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
+
|
||||
+ rtl8723cs: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
--
|
||||
Armbian
|
||||
|
@ -1,8 +1,20 @@
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index 84cd9c061..917986cce 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -80,13 +80,15 @@
|
||||
From a9bad790ae9a9e9befbe8e8938b6baca84ee5138 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
Date: Tue, 24 Oct 2023 10:40:52 +0200
|
||||
Subject: [PATCH] dts: orangepi-zero: Add wifi support
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
---
|
||||
.../allwinner/sun8i-h2-plus-orangepi-zero.dts | 46 +++++++++++++++----
|
||||
1 file changed, 37 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
index 3706216ff..ca94e313f 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -80,13 +80,15 @@ status_led {
|
||||
};
|
||||
};
|
||||
|
||||
@ -23,8 +35,8 @@ index 84cd9c061..917986cce 100644
|
||||
};
|
||||
|
||||
reg_vdd_cpux: vdd-cpux-regulator {
|
||||
@@ -106,10 +108,12 @@
|
||||
1300000 1>;
|
||||
@@ -105,10 +107,12 @@ reg_vdd_cpux: vdd-cpux-regulator {
|
||||
states = <1100000 0>, <1300000 1>;
|
||||
};
|
||||
|
||||
- wifi_pwrseq: wifi_pwrseq {
|
||||
@ -38,7 +50,7 @@ index 84cd9c061..917986cce 100644
|
||||
};
|
||||
};
|
||||
|
||||
@@ -140,9 +144,11 @@
|
||||
@@ -139,9 +143,11 @@ &mmc0 {
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
@ -52,7 +64,7 @@ index 84cd9c061..917986cce 100644
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
@@ -152,6 +158,13 @@
|
||||
@@ -151,6 +157,13 @@ &mmc1 {
|
||||
*/
|
||||
xr819: sdio_wifi@1 {
|
||||
reg = <1>;
|
||||
@ -66,7 +78,7 @@ index 84cd9c061..917986cce 100644
|
||||
};
|
||||
};
|
||||
|
||||
@@ -208,3 +221,18 @@
|
||||
@@ -207,3 +220,18 @@ &usbphy {
|
||||
status = "okay";
|
||||
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
};
|
||||
@ -85,3 +97,6 @@ index 84cd9c061..917986cce 100644
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,115 @@
|
||||
From e0d786f5465d2e2d977696cf0d02c70b78402291 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
Date: Tue, 24 Oct 2023 10:42:36 +0200
|
||||
Subject: [PATCH] dts:nanopi-neo-air: Add camera support
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
---
|
||||
.../dts/allwinner/sun8i-h3-nanopi-neo-air.dts | 85 +++++++++++++++++++
|
||||
1 file changed, 85 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||||
index 9e1a33f94..7a05eff33 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||||
@@ -77,6 +77,39 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
};
|
||||
+
|
||||
+ cam_xclk: cam-xclk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "cam-xclk";
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_avdd: cam-avdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam-avdd";
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_dovdd: cam-dovdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam-dovdd";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_dvdd: cam-dvdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam-dvdd";
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
@@ -141,3 +174,55 @@ &usbphy {
|
||||
/* USB VBUS is always on */
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&csi {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /* Parallel bus endpoint */
|
||||
+ csi_from_ov5640: endpoint {
|
||||
+ remote-endpoint = <&ov5640_to_csi>;
|
||||
+ bus-width = <8>;
|
||||
+ data-shift = <2>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ clocks = <&cam_xclk>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>;
|
||||
+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>;
|
||||
+ AVDD-supply = <®_cam_avdd>;
|
||||
+ DOVDD-supply = <®_cam_dovdd>;
|
||||
+ DVDD-supply = <®_cam_dvdd>;
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_to_csi: endpoint {
|
||||
+ remote-endpoint = <&csi_from_ov5640>;
|
||||
+ bus-width = <8>;
|
||||
+ data-shift = <2>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+&i2c2_pins {
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,32 @@
|
||||
From 7d7f32460702e99cab48909bb85ed84b67e65062 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
Date: Tue, 24 Oct 2023 10:43:55 +0200
|
||||
Subject: [PATCH] dts: allwinner: bananapi-m2-zero: Enforce consistent MMC
|
||||
numbering
|
||||
|
||||
Enforce MMC number (sometimes the order was wrong and the device does not boot).
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts
|
||||
index d729b7c70..410a79487 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts
|
||||
@@ -20,6 +20,9 @@ / {
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
+ mmc0 = &mmc0;
|
||||
+ mmc1 = &mmc1;
|
||||
+ mmc2 = &mmc2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,29 @@
|
||||
From f487f62babb11d014da7a0b58a0fcdf6d217a812 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
Date: Thu, 11 May 2023 11:18:33 +0200
|
||||
Subject: [PATCH] bananapi-m64: Consistent nodes for mmc devices
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
|
||||
index e6d5bc0f7..39a28aad8 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
|
||||
@@ -16,6 +16,9 @@ aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
+ mmc0 = &mmc0;
|
||||
+ mmc1 = &mmc1;
|
||||
+ mmc2 = &mmc2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,31 @@
|
||||
From 8b245b30a451bc4a4081759a6918b630ec075a7c Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Gloor <code@stefan-gloor.ch>
|
||||
Date: Thu, 19 Dec 2024 10:34:54 +0100
|
||||
Subject: [PATCH] ARM: dts: sunxi: Add MMC alias for consistent enumeration
|
||||
|
||||
Add explicit alias for MMC devices, so that (e)MMC and micro SD cards
|
||||
are enumerated consistenly. This should fix spurious boot failures when
|
||||
specifying a hard-coded root partition, e.g., mmcblk0p2.
|
||||
|
||||
Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
|
||||
Upstream-Status: Denied https://lore.kernel.org/lkml/CAGb2v67dBhL3-AhLeHg3xOgbNZ3qu0aj9+kA+MoOMRYfr_Z_zQ@mail.gmail.com/
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun7i-a20-olinuxino-micro.dts | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-olinuxino-micro.dts
|
||||
index a1b89b2a2999..9cd1eb690134 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -60,6 +60,8 @@ aliases {
|
||||
serial2 = &uart7;
|
||||
spi0 = &spi1;
|
||||
spi1 = &spi2;
|
||||
+ mmc0 = &mmc0;
|
||||
+ mmc1 = &mmc3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
--
|
||||
2.45.2
|
||||
|
@ -0,0 +1,32 @@
|
||||
From a2d765aab2989ba080b8f63cb0489d6a531cb3fd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Oliver=20K=C3=A4stner?= <git@oliver-kaestner.de>
|
||||
Date: Sun, 16 Mar 2025 22:36:53 +0100
|
||||
Subject: [PATCH] dts: allwinner: orangepi-zero: mmc aliases for consistent
|
||||
enumeration
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes random boot failures.
|
||||
|
||||
Upstream-Status: Inappropriate [https://github.com/linux-sunxi/meta-sunxi/pull/431]
|
||||
|
||||
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
index ca94e313f..570a88327 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -59,6 +59,9 @@ aliases {
|
||||
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
|
||||
ethernet0 = &emac;
|
||||
ethernet1 = &xr819;
|
||||
+ mmc0 = &mmc0; /* microSD */
|
||||
+ mmc1 = &mmc1; /* XR819 WiFi */
|
||||
+ mmc2 = &mmc2;
|
||||
};
|
||||
|
||||
chosen {
|
5488
recipes-kernel/linux/linux-mainline/sun9i/defconfig
Normal file
5488
recipes-kernel/linux/linux-mainline/sun9i/defconfig
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,72 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Sat, 16 Apr 2022 11:51:35 +0300
|
||||
Subject: add nodes for sunxi-info, sunxi-addr and sunxi-dump-reg
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 19 ++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index 538c90663602..6365cce07304 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -1243,6 +1243,25 @@ ths: thermal-sensor@5070400 {
|
||||
nvmem-cell-names = "calibration";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
+
|
||||
+ sunxi-info {
|
||||
+ compatible = "allwinner,sun50i-h6-sys-info";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ addr_mgt: addr-mgt {
|
||||
+ compatible = "allwinner,sunxi-addr_mgt";
|
||||
+ type_addr_wifi = <0x2>;
|
||||
+ type_addr_bt = <0x2>;
|
||||
+ type_addr_eth = <0x2>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ dump_reg: dump_reg@20000 {
|
||||
+ compatible = "allwinner,sunxi-dump-reg";
|
||||
+ reg = <0x0 0x03001000 0x0 0x0f20>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 98735d39e6e8..5ff1b357a25b 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -1053,6 +1053,25 @@ ths: thermal-sensor@5070400 {
|
||||
nvmem-cell-names = "calibration";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
+
|
||||
+ dump_reg: dump_reg@20000 {
|
||||
+ compatible = "allwinner,sunxi-dump-reg";
|
||||
+ reg = <0x0 0x03001000 0x0 0x0f20>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ sunxi-info {
|
||||
+ compatible = "allwinner,sun50i-h616-sys-info";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ addr_mgt: addr-mgt {
|
||||
+ compatible = "allwinner,sunxi-addr_mgt";
|
||||
+ type_addr_wifi = <0x2>;
|
||||
+ type_addr_bt = <0x2>;
|
||||
+ type_addr_eth = <0x2>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
--
|
||||
Armbian
|
||||
|
@ -0,0 +1,41 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
Date: Sun, 19 Sep 2021 08:02:27 +0000
|
||||
Subject: arm64: dts: allwinner: h616: Add device node for SID
|
||||
|
||||
The device tree binding for H616's SID controller.
|
||||
|
||||
Signed-off-by: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 15 ++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 45359b0d317a..7ad1982fb47f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -171,6 +171,21 @@ ccu: clock@3001000 {
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
+ sid: efuse@3006000 {
|
||||
+ compatible = "allwinner,sun50i-h616-sid";
|
||||
+ reg = <0x03006000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ cpu_speed_grade: cpu-speed-grade@0 {
|
||||
+ reg = <0x00 0x02>;
|
||||
+ };
|
||||
+
|
||||
+ ths_calibration: thermal-sensor-calibration@14 {
|
||||
+ reg = <0x14 0x8>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
watchdog: watchdog@30090a0 {
|
||||
compatible = "allwinner,sun50i-h616-wdt",
|
||||
"allwinner,sun6i-a31-wdt";
|
||||
--
|
||||
Armbian
|
||||
|
@ -0,0 +1,473 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: AGM1968 <AGM1968@users.noreply.github.com>
|
||||
Date: Tue, 23 May 2023 16:43:00 +0000
|
||||
Subject: arm64-dts-allwinner-h616-Add-efuse_xlate-cpu-frequency-scaling-v1_6_2
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
drivers/cpufreq/cpufreq-dt-platdev.c drivers/cpufreq/sun50i-cpufreq-nvmem.c
|
||||
|
||||
Signed-off-by: AGM1968 <AGM1968@users.noreply.github.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi | 75 ++++++++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi | 64 +++++++++++++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts | 5 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts | 62 ++-----------
|
||||
drivers/cpufreq/cpufreq-dt-platdev.c | 2 +
|
||||
drivers/cpufreq/sun50i-cpufreq-nvmem.c | 92 +++++++---
|
||||
7 files changed, 221 insertions(+), 80 deletions(-)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..36f2950367c6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
|
||||
@@ -0,0 +1,75 @@
|
||||
+//SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+//Testing Version 1 from: AGM1968 <AGM1968@users.noreply.github.com>
|
||||
+//Noted: PLL_CPUX = 24 MHz*N/P (WIP)
|
||||
+
|
||||
+/ {
|
||||
+ cpu_opp_table: opp-table-cpu {
|
||||
+ compatible = "allwinner,sun50i-h616-operating-points";
|
||||
+ nvmem-cells = <&cpu_speed_grade>;
|
||||
+ opp-shared;
|
||||
+
|
||||
+ opp-480000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <480000000>;
|
||||
+ opp-microvolt-speed0 = <820000 820000 1100000>;
|
||||
+ opp-microvolt-speed1 = <880000 880000 1100000>;
|
||||
+ opp-microvolt-speed2 = <880000 880000 1100000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-600000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <600000000>;
|
||||
+ opp-microvolt-speed0 = <820000 820000 1100000>;
|
||||
+ opp-microvolt-speed1 = <880000 880000 1100000>;
|
||||
+ opp-microvolt-speed2 = <880000 880000 1100000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-792000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <792000000>;
|
||||
+ opp-microvolt-speed0 = <860000 860000 1100000>;
|
||||
+ opp-microvolt-speed1 = <940000 940000 1100000>;
|
||||
+ opp-microvolt-speed2 = <940000 940000 1100000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-1008000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <1008000000>;
|
||||
+ opp-microvolt-speed0 = <900000 900000 1100000>;
|
||||
+ opp-microvolt-speed1 = <1020000 1020000 1100000>;
|
||||
+ opp-microvolt-speed2 = <1020000 1020000 1100000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt-speed0 = <960000 960000 1100000>;
|
||||
+ opp-microvolt-speed1 = <1100000 1100000 1100000>;
|
||||
+ opp-microvolt-speed2 = <1100000 1100000 1100000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-1512000000 {
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt-speed0 = <1100000 1100000 1100000>;
|
||||
+ opp-microvolt-speed1 = <1100000 1100000 1100000>;
|
||||
+ opp-microvolt-speed2 = <1100000 1100000 1100000>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
|
||||
index 0666d16ba7d0..54d706286554 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "sun50i-h616.dtsi"
|
||||
+#include "sun50i-h616-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
index 8d8009c7f9a3..41a5a4013091 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
@@ -12,6 +12,11 @@ / {
|
||||
compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdca>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&emac0 {
|
||||
phy-supply = <®_dcdce>;
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000000..0509e3fb22e26
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-cpu-dvfs.dtsi
|
||||
@@ -0,0 +1,64 @@
|
||||
+
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp313: pmic@36 {
|
||||
+ compatible = "x-powers,axp313a";
|
||||
+ reg = <0x36>;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ interrupt-controller;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>; /* PC9 */
|
||||
+
|
||||
+ vin1-supply = <®_vcc5v>;
|
||||
+ vin2-supply = <®_vcc5v>;
|
||||
+ vin3-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ /* Supplies VCC-PLL and DRAM */
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8";
|
||||
+ };
|
||||
+
|
||||
+ /* Supplies VCC-IO, so needs to be always on. */
|
||||
+ reg_dldo1: dldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdc1: dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <990000>;
|
||||
+ regulator-step-delay-us = <25>;
|
||||
+ regulator-final-delay-us = <50>;
|
||||
+ regulator-name = "vdd-gpu-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdc2: dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-step-delay-us = <25>;
|
||||
+ regulator-final-delay-us = <50>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdc3: dcdc3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-step-delay-us = <25>;
|
||||
+ regulator-final-delay-us = <50>;
|
||||
+ regulator-name = "vdd-dram";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
|
||||
index 00fe28caac93..edbfc83f390a 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
|
||||
@@ -6,12 +6,18 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun50i-h616-orangepi-zero.dtsi"
|
||||
+#include "sun50i-h618-cpu-dvfs.dtsi"
|
||||
|
||||
/ {
|
||||
model = "OrangePi Zero3";
|
||||
compatible = "xunlong,orangepi-zero3", "allwinner,sun50i-h618";
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&emac0 {
|
||||
phy-supply = <®_dldo1>;
|
||||
};
|
||||
@@ -31,62 +37,6 @@ &mmc0 {
|
||||
vmmc-supply = <®_dldo1>;
|
||||
};
|
||||
|
||||
-&r_i2c {
|
||||
- status = "okay";
|
||||
-
|
||||
- axp313: pmic@36 {
|
||||
- compatible = "x-powers,axp313a";
|
||||
- reg = <0x36>;
|
||||
- #interrupt-cells = <1>;
|
||||
- interrupt-controller;
|
||||
- interrupt-parent = <&pio>;
|
||||
- interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>; /* PC9 */
|
||||
-
|
||||
- vin1-supply = <®_vcc5v>;
|
||||
- vin2-supply = <®_vcc5v>;
|
||||
- vin3-supply = <®_vcc5v>;
|
||||
-
|
||||
- regulators {
|
||||
- /* Supplies VCC-PLL, so needs to be always on. */
|
||||
- reg_aldo1: aldo1 {
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <1800000>;
|
||||
- regulator-name = "vcc1v8";
|
||||
- };
|
||||
-
|
||||
- /* Supplies VCC-IO, so needs to be always on. */
|
||||
- reg_dldo1: dldo1 {
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-name = "vcc3v3";
|
||||
- };
|
||||
-
|
||||
- reg_dcdc1: dcdc1 {
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <810000>;
|
||||
- regulator-max-microvolt = <990000>;
|
||||
- regulator-name = "vdd-gpu-sys";
|
||||
- };
|
||||
-
|
||||
- reg_dcdc2: dcdc2 {
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <810000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
- regulator-name = "vdd-cpu";
|
||||
- };
|
||||
-
|
||||
- reg_dcdc3: dcdc3 {
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <1100000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
- regulator-name = "vdd-dram";
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-};
|
||||
-
|
||||
&pio {
|
||||
vcc-pc-supply = <®_dldo1>;
|
||||
vcc-pf-supply = <®_dldo1>;
|
||||
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
|
||||
index fb2875ce1fdd..e63d36839769 100644
|
||||
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
|
||||
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
|
||||
@@ -104,6 +104,8 @@ static const struct of_device_id allowlist[] __initconst = {
|
||||
*/
|
||||
static const struct of_device_id blocklist[] __initconst = {
|
||||
{ .compatible = "allwinner,sun50i-h6", },
|
||||
+ { .compatible = "allwinner,sun50i-h616", },
|
||||
+ { .compatible = "allwinner,sun50i-h618", },
|
||||
|
||||
{ .compatible = "apple,arm-platform", },
|
||||
|
||||
diff --git a/drivers/cpufreq/sun50i-cpufreq-nvmem.c b/drivers/cpufreq/sun50i-cpufreq-nvmem.c
|
||||
index 6845ab5034ec..5d85bfe475de 100644
|
||||
--- a/drivers/cpufreq/sun50i-cpufreq-nvmem.c
|
||||
+++ b/drivers/cpufreq/sun50i-cpufreq-nvmem.c
|
||||
@@ -6,6 +6,9 @@
|
||||
* provide the OPP framework with required information.
|
||||
*
|
||||
* Copyright (C) 2019 Yangtao Li <tiny.windzz@gmail.com>
|
||||
+ *
|
||||
+ * ADD efuse_xlate to extract SoC version so that h6 and h616 can coexist.
|
||||
+ * Version 1 AGM1968 <AGM1968@users.noreply.github.com>
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
@@ -20,25 +23,62 @@
|
||||
|
||||
#define MAX_NAME_LEN 7
|
||||
|
||||
-#define NVMEM_MASK 0x7
|
||||
-#define NVMEM_SHIFT 5
|
||||
+#define SUN50I_H616_NVMEM_MASK 0x22
|
||||
+#define SUN50I_H616_NVMEM_SHIFT 5
|
||||
+#define SUN50I_H6_NVMEM_MASK 0x7
|
||||
+#define SUN50I_H6_NVMEM_SHIFT 5
|
||||
+
|
||||
+struct sunxi_cpufreq_soc_data {
|
||||
+ u32 (*efuse_xlate) (void *efuse);
|
||||
+};
|
||||
|
||||
static struct platform_device *cpufreq_dt_pdev, *sun50i_cpufreq_pdev;
|
||||
|
||||
+static u32 sun50i_h616_efuse_xlate(void *efuse)
|
||||
+{
|
||||
+ u32 efuse_value = (*(u32 *)efuse >> SUN50I_H616_NVMEM_SHIFT) &
|
||||
+ SUN50I_H616_NVMEM_MASK;
|
||||
+
|
||||
+ /* Tested as V1 h616 soc. Expected efuse values are 1 - 3,
|
||||
+ slowest to fastest */
|
||||
+ if (efuse_value >=1 && efuse_value <= 3)
|
||||
+ return efuse_value - 1;
|
||||
+ else
|
||||
+ return 0;
|
||||
+};
|
||||
+
|
||||
+static u32 sun50i_h6_efuse_xlate(void *efuse)
|
||||
+{
|
||||
+ u32 efuse_value = (*(u32 *)efuse >> SUN50I_H6_NVMEM_SHIFT) &
|
||||
+ SUN50I_H6_NVMEM_MASK;
|
||||
+
|
||||
+ /*
|
||||
+ * We treat unexpected efuse values as if the SoC was from
|
||||
+ * the slowest bin. Expected efuse values are 1 - 3, slowest
|
||||
+ * to fastest.
|
||||
+ */
|
||||
+ if (efuse_value >= 1 && efuse_value <= 3)
|
||||
+ return efuse_value - 1;
|
||||
+ else
|
||||
+ return 0;
|
||||
+};
|
||||
+
|
||||
+
|
||||
/**
|
||||
* sun50i_cpufreq_get_efuse() - Determine speed grade from efuse value
|
||||
+ * @soc_data: pointer to sunxi_cpufreq_soc_data context
|
||||
* @versions: Set to the value parsed from efuse
|
||||
*
|
||||
* Returns 0 if success.
|
||||
*/
|
||||
-static int sun50i_cpufreq_get_efuse(u32 *versions)
|
||||
+static int sun50i_cpufreq_get_efuse(const struct sunxi_cpufreq_soc_data *soc_data,
|
||||
+ u32 *versions)
|
||||
{
|
||||
struct nvmem_cell *speedbin_nvmem;
|
||||
struct device_node *np;
|
||||
struct device *cpu_dev;
|
||||
- u32 *speedbin, efuse_value;
|
||||
+ u32 *speedbin;
|
||||
size_t len;
|
||||
- int ret;
|
||||
|
||||
cpu_dev = get_cpu_device(0);
|
||||
if (!cpu_dev)
|
||||
@@ -47,10 +87,9 @@ static int sun50i_cpufreq_get_efuse(u32 *versions)
|
||||
np = dev_pm_opp_of_get_opp_desc_node(cpu_dev);
|
||||
if (!np)
|
||||
return -ENOENT;
|
||||
-
|
||||
- ret = of_device_is_compatible(np,
|
||||
- "allwinner,sun50i-h6-operating-points");
|
||||
- if (!ret) {
|
||||
+ if (of_device_is_compatible(np, "allwinner,sun50i-h6-operating-points")) {}
|
||||
+ else if (of_device_is_compatible(np, "allwinner,sun50i-h616-operating-points")) {}
|
||||
+ else {
|
||||
of_node_put(np);
|
||||
return -ENOENT;
|
||||
}
|
||||
@@ -66,17 +105,7 @@ static int sun50i_cpufreq_get_efuse(u32 *versions)
|
||||
if (IS_ERR(speedbin))
|
||||
return PTR_ERR(speedbin);
|
||||
|
||||
- efuse_value = (*speedbin >> NVMEM_SHIFT) & NVMEM_MASK;
|
||||
-
|
||||
- /*
|
||||
- * We treat unexpected efuse values as if the SoC was from
|
||||
- * the slowest bin. Expected efuse values are 1-3, slowest
|
||||
- * to fastest.
|
||||
- */
|
||||
- if (efuse_value >= 1 && efuse_value <= 3)
|
||||
- *versions = efuse_value - 1;
|
||||
- else
|
||||
- *versions = 0;
|
||||
+ *versions = soc_data->efuse_xlate(speedbin);
|
||||
|
||||
kfree(speedbin);
|
||||
return 0;
|
||||
@@ -84,18 +113,23 @@ static int sun50i_cpufreq_get_efuse(u32 *versions)
|
||||
|
||||
static int sun50i_cpufreq_nvmem_probe(struct platform_device *pdev)
|
||||
{
|
||||
+ const struct of_device_id *match;
|
||||
int *opp_tokens;
|
||||
char name[MAX_NAME_LEN];
|
||||
unsigned int cpu;
|
||||
u32 speed = 0;
|
||||
int ret;
|
||||
|
||||
+ match = dev_get_platdata(&pdev->dev);
|
||||
+ if (!match)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
opp_tokens = kcalloc(num_possible_cpus(), sizeof(*opp_tokens),
|
||||
GFP_KERNEL);
|
||||
if (!opp_tokens)
|
||||
return -ENOMEM;
|
||||
|
||||
- ret = sun50i_cpufreq_get_efuse(&speed);
|
||||
+ ret = sun50i_cpufreq_get_efuse(match-> data, &speed);
|
||||
if (ret) {
|
||||
kfree(opp_tokens);
|
||||
return ret;
|
||||
@@ -159,8 +193,18 @@ static struct platform_driver sun50i_cpufreq_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
+static const struct sunxi_cpufreq_soc_data sun50i_h616_data = {
|
||||
+ .efuse_xlate = sun50i_h616_efuse_xlate,
|
||||
+};
|
||||
+
|
||||
+static const struct sunxi_cpufreq_soc_data sun50i_h6_data = {
|
||||
+ .efuse_xlate = sun50i_h6_efuse_xlate,
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id sun50i_cpufreq_match_list[] = {
|
||||
- { .compatible = "allwinner,sun50i-h6" },
|
||||
+ { .compatible = "allwinner,sun50i-h6", .data = &sun50i_h6_data },
|
||||
+ { .compatible = "allwinner,sun50i-h616", .data = &sun50i_h616_data },
|
||||
+ { .compatible = "allwinner,sun50i-h618", .data = &sun50i_h616_data },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sun50i_cpufreq_match_list);
|
||||
@@ -196,8 +239,8 @@ static int __init sun50i_cpufreq_init(void)
|
||||
return ret;
|
||||
|
||||
sun50i_cpufreq_pdev =
|
||||
- platform_device_register_simple("sun50i-cpufreq-nvmem",
|
||||
- -1, NULL, 0);
|
||||
+ platform_device_register_data(NULL,
|
||||
+ "sun50i-cpufreq-nvmem", -1, match, sizeof(*match));
|
||||
ret = PTR_ERR_OR_ZERO(sun50i_cpufreq_pdev);
|
||||
if (ret == 0)
|
||||
return 0;
|
||||
--
|
||||
Armbian
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user