146 Commits

Author SHA1 Message Date
eaa81c64b9 Merge pull request #443 from okaestne/chore/kernel-cleanup
chore: clean up old kernel versions and fix KERNEL_DEVICETREE handling
2025-04-05 23:04:32 +02:00
cabb64ab12 linux-mainline: fix spacing with KERNEL_FEATURES:prepend
Prepends should always end with a space char. Fix that by just turning
it into an append. Change the second prepend to an append for
consistency.

Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-31 12:31:50 +02:00
d7b7bc10b1 ap6212: add missing leading space to append
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-31 12:31:50 +02:00
561c1211f8 Merge pull request #444 from okaestne/feat/linux-6.6.85
linux-mainline: bump to 6.6.85
2025-03-31 12:21:15 +02:00
ef3adc7f53 linux-mainline: bump to 6.6.85
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-30 00:56:00 +01:00
57aeb9103d chore: drop stale kmeta
drop kmeta for older and removed kernel versions

Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-27 23:52:14 +01:00
3c1d2b073b fix handling KERNEL_DEVICETREE with allwinner/ prefix
Since linux 6.5, .dts files live in vendor subdirs. Fix all
`KERNEL_DEVICETREE` definitions to contain the `allwinner` subdir as
prefix and drop code that previously added the prefix on demand.
On the other hand, drop the prefix for `BOOT_IMAGE_FILES`, which
searches the .dtb within `DEPLOY_DIR`.

Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-24 18:26:14 +01:00
5e74f7e4d7 chore: drop linux-mainline pre-v6.5 patches
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-24 18:26:14 +01:00
2acdec5212 chore: drop linux-mainline v6.5.11
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-24 18:26:14 +01:00
9b81e35f15 chore: drop linux-mainline v6.1.9
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-24 18:26:14 +01:00
820f782db6 chore: drop linux-mainline v5.15.91
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-24 18:26:14 +01:00
1c14532fed Merge pull request #441 from okaestne/feat/ap6212-bt
ap6212: enable bluetooth support
2025-03-21 11:06:38 +01:00
992691c2bc ap6212: enable bluetooth support 2025-03-21 00:39:11 +01:00
d58e8c36d7 Merge pull request #440 from okaestne/feat/machine-feature-wifi-bt
feat: add MACHINE_FEATURE wifi and bluetooth for AP6212 and AP6330 boards
2025-03-17 21:33:07 +01:00
dcd6baa7cf feat: add MACHINE_FEATURE wifi and bluetooth for AP6212 and AP6330 boards
Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-17 21:03:59 +01:00
e828ec13be Merge pull request #439 from okaestne/fix/opi0-dts-mmc
linux-mainline: dts: orangepi-zero: add mmc aliases for consistent enumeration
2025-03-17 09:00:57 +01:00
2998db9ab3 linux-mainline: dts: orangepi-zero: add mmc aliases for consistent enumeration
This fixes random boot failures.
Same workaround as in the other patches.

Signed-off-by: Oliver Kästner <git@oliver-kaestner.de>
2025-03-16 23:56:47 +01:00
3d4bcd1c54 Merge pull request #437 from okaestne/master
Add BananaPi M2 Berry support
2025-01-20 09:22:56 +01:00
682a3dffc7 Add BananaPi M2 Berry support
Add `bananapi-m2-berry` machine conf and enable WiFi for it.
2025-01-19 01:24:09 +01:00
363feb2ce8 Merge pull request #435 from linux-sunxi/fix-u-boot-loadaddr
sunxi64.inc: Fix wrong UBOOT_LOADADDRESS variable value
2025-01-07 22:15:54 +01:00
a34349d67b sunxi64.inc: Fix wrong UBOOT_LOADADDRESS variable value
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2025-01-07 10:02:40 +01:00
a00dc47b24 Merge pull request #432 from stgloorious/stgloor/mmc-alias
recipes-kernel/linux-mainline: add MMC alias for Olinuxino A20
2025-01-01 20:17:20 +01:00
a03d4270a1 recipes-kernel/linux-mainline: add MMC alias for Olinuxino A20
Add patch that adds MMC aliases to device tree for consistent
enumeration of SD cards.

Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
2025-01-01 16:35:41 +00:00
ca60ffbc53 Merge pull request #430 from leon-anavi/master-fix-u-boot-a80
u-boot_%.bbappend: Fix U-Boot for sun9i
2024-12-19 10:40:25 +01:00
ab9690a0c1 u-boot_%.bbappend: Fix U-Boot for sun9i
Use a proper fix instead of reverting U-Boot commit ffb0294.
After reporting this issue to the U-Boot mailing list, a patch
that works on Allwinner A80 machines like Merrii A80 Optimus board
was proposed by Andre Przywara:
https://lists.denx.de/pipermail/u-boot/2024-December/575050.html

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-14 13:41:31 +02:00
f2f4c6a0bc Merge pull request #429 from leon-anavi/master-ap6330
Enable AMPAK AP6330 WiFi and Bluetooth
2024-12-12 08:10:14 +01:00
0724baeaaf Enable AMPAK AP6330 WiFi and Bluetooth
Enable AMPAK AP6330 that combines Broadcom Wifi (BCM4330) and
Bluetooth 4.0 (BCM40183) chips for sun9i devices such as Merrii A80
Optimus and Cubieboard 4.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-12 01:12:31 +02:00
c877916982 Merge pull request #426 from stgloorious/stgloor/setuptools-pr
recipes/devtools: replace distutils3*.bbclass with setuptools3*.bbclass
2024-12-10 08:35:02 +01:00
dbf43ca34a recipes/devtools: replace distutils3*.bbclass with setuptools3*.bbclass
distutils3 is deprecated and its use produces warnings during build:

WARNING: distutils-common-base.bbclass is deprecated, please use setuptools3-base.bbclass instead
WARNING: distutils3-base.bbclass is deprecated, please use setuptools3-base.bbclass instead
WARNING: distutils3.bbclass is deprecated, please use setuptools3.bbclass instead

setuptools3 should be a drop-in replacement.

Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
2024-12-10 01:02:21 +00:00
80c3f3ee74 Merge pull request #425 from leon-anavi/cubieboard4
cubieboard4.conf: Add machine
2024-12-09 22:03:47 +01:00
4145ca429f cubieboard4.conf: Add machine
Add machine cubieboard4 for Cubieboard 4 with Allwinner A80 SoC
from the sun9i family with mainline U-Boot and Linux kernel.

Thanks to Lazar Hristov for testing core-image-base on the machine.

Tested-by: Lazar Hristov <lhristov@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-09 22:51:27 +02:00
3d37166570 Merge pull request #424 from leon-anavi/merrii-a80-optimus
Add Merrii A80 Optimus board
2024-12-09 21:00:38 +01:00
cfd534a0e0 u-boot_%.bbappend: Fix for sun9i
Temporary revert commit ffb0294 from 12 Nov 2023 for device with
Allwinner A80 SoC (aka sun9i):

sunxi: board: simplify early PMIC setup conditions

On Merrii A80 Optimus this git commit causes U-Boot to hang at:

Starting kernel ...

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-09 19:14:03 +02:00
43d1e49c0e sun9i/defconfig: Default kernel defconfig
Add a default Linux kernel defconfig for devices from the sun9i
family with Allwinner A80 SoC such as Merrii A80 Optimus board.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-09 18:54:19 +02:00
dabffb137c merrii-a80-optimus.conf: Add machine
Add machine merrii-a80-optimus for Merrii A80 Optimus development
board that is supported by U-Boot and mainline Linux kernel.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-09 18:51:14 +02:00
2f6e00210b sun9i.inc: Add SoC family sun9i
Create SoC family sun9i for machines with Allwinner A80 that are
supported by mainline U-Boot and mainline Linux kernel.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-09 18:03:21 +02:00
5a5ca0e05b Merge pull request #422 from gye976/master
recipes-graphics/mesa: Fix bitbake parsing error
2024-11-04 09:38:30 +01:00
9f2f369549 recipes-graphics/mesa: Fix bitbake parsing error
there was the following error,

ERROR: No recipes in default available for:
  /home/gye/yocto/meta-sunxi/recipes-graphics/mesa/mesa-gl_%.bbappend
  /home/gye/yocto/meta-sunxi/recipes-graphics/mesa/mesa_%.bbappend

so i renamed mesa_%.bbappend to mesa.bbappend,
and mesa-gl_%.bbappend to mesa-gl.bbappend
2024-10-31 18:57:33 +09:00
0825f43fe2 Merge pull request #419 from ovpanait/master
u-boot: apply ttyS3 patch only for mangopi-mq-t-tt13 builds
2024-10-17 21:56:52 +02:00
187cd6d342 u-boot: apply ttyS3 patch only for mangopi-mq-t-tt13 builds
For all boards except mangopi-mq-t-tt13, switch back the serial console to
ttyS0. Apply the ttyS3 patch added in commit [1] only when building for the
mangopi-mq-t-tt13 board.

Boot tested on orangepi-zero2 board - the kernel logs are again printed to
the debug serial console.

    [1] 9edbede7bc ("u-boot: Fix console for mangopi-mq-r-tt13 board")

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
2024-10-17 22:34:36 +03:00
2e9fc04500 Merge pull request #417 from leon-anavi/xradio-firmware-branch
xradio-firmware: Add branch to SRC_URI
2024-08-20 14:24:50 +02:00
a997050889 xradio-firmware: Add branch to SRC_URI
Explicitly specify a branch parameter and fix the warning:

The future default branch used by tools and repositories is
uncertain and we will therefore soon require this is set in
all git urls.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-08-20 15:20:55 +03:00
9c47e507e3 Merge pull request #416 from leon-anavi/add-upstream-status
linux-mainline/6.5/*.patch: Add Upstream-Status
2024-08-16 21:31:43 +02:00
a2d3d5ffab linux-mainline/6.5/*.patch: Add Upstream-Status
Add Upstream-Status in patches to fix QA issues.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-08-16 19:23:33 +03:00
42f4ad510d Merge pull request #411 from ludiazv/new-opizero2
Support for Orange pi zero 2 for 6.6 LTS
2024-06-17 16:05:33 +02:00
a83a18e526 Merge pull request #413 from alperak/master
recipes: Switch away from S = WORKDIR and use UNPACKDIR instead of WO…
2024-06-17 16:04:33 +02:00
33d7e2bb51 recipes: Switch away from S = WORKDIR and use UNPACKDIR instead of WORKDIR
- The layer compability has also been updated in this PR.

* Using S = ${WORKDIR} is no longer supported.

* UNPACKDIR is new contruct for do_unpack things in latest master we should be using that instead of WORKDIR for referencing those files.

* We don't know yet what changes will be needed to stay compatible with final styhead, but we already know that the last changes for UNPACKDIR aren't compatible with scarthgap, nanbield or others.

https://lists.openembedded.org/g/openembedded-architecture/message/2007
https://docs.yoctoproject.org/dev/ref-manual/variables.html?highlight=unpackdir#term-UNPACKDIR

Signed-off-by: alperak <alperyasinak1@gmail.com>
2024-06-05 17:25:20 +03:00
2a408a1350 update opi zero 2 with auto load modules for wifi and bt 2024-05-23 14:28:05 +02:00
31519e547e remove hack for hdmi out 2024-05-23 14:26:00 +02:00
a2e503b82e fix/improve MAC address management 2024-05-23 09:55:55 +02:00
4a04ddfb3e h616 and h618 patches 2024-05-22 14:43:59 +02:00
20e638ef5f add opizero 2 to 6.6 2024-05-22 12:48:55 +02:00
322843f576 pya20: Added support for olinuxino-a20lime2-emmc
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-05-13 09:19:55 +02:00
f70de55509 Merge pull request #406 from alperak/master
Add Orange Pi Prime machine support
2024-05-09 12:04:53 +02:00
2f84e8ff67 Add Orange Pi Prime machine support
- Ethernet, WiFi, Bluetooth, USBs are working fine but HDMI is working until U-Boot loading the kernel. Then it stop working.
- Tested with core-image-base and kernel mainline 6.6.28

Signed-off-by: alperak <alperyasinak1@gmail.com>
2024-05-08 22:58:22 +03:00
3429331a8c Merge pull request #409 from SaskatoonTechworks/dankm/issues
Fix various Yocto compatibility issues
2024-05-07 22:05:00 +02:00
05ff172139 trusted-firmware: Make append machine specific 2024-05-07 10:33:28 -06:00
608ae0cc0f xserver-xorg: don't unconditionally add xshmfence
This is only required if dri3 is enabled in the server. It shouldn't
be included unconditionally.

Arguably this should be put in openembedded-core, but for now it's
safe to put here.
2024-05-07 10:26:09 -06:00
f8aeeaeddb linux: change licence name
Use SPDX name for the kernel, oe-core changed a long time ago and
now we're throwing licence name warnings.
2024-05-07 10:26:09 -06:00
b756926593 linux-firmware: Only add firmware to sunxi machines
It doesn't make sense to unconditionally include these firmware
files on other machines. Gate it on whether we're a sunxi machine.
2024-05-07 10:26:09 -06:00
197bc04dac Merge pull request #405 from ludiazv/new-opi3-lts
Basic support for orange pi 3 lts
2024-05-07 13:46:31 +02:00
4afe6a0b17 Merge branch 'master' into new-opi3-lts 2024-05-07 13:46:22 +02:00
9edbede7bc u-boot: Fix console for mangopi-mq-r-tt13 board
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-05-07 11:39:54 +02:00
2f291239fe conf/machine: add support for MangoPi MQ-R T113-S3
Signed-off-by: Leo Soares <leojrfs@gmail.com>
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-05-07 11:39:50 +02:00
0c874c99f7 add preferred kernel version to sunxi64 2024-04-28 01:40:51 +02:00
916ecc0e9d update opi 3lts machine 2024-04-28 01:40:20 +02:00
17b8e40209 add kernel features 2024-04-28 01:39:48 +02:00
c19b5742bd update uwe5622 patches 2024-04-28 01:39:09 +02:00
0437a1df6b add kernel patches for orangepi-3lts for 6.1 6.5 kernels(KMETA) 2024-04-25 23:44:57 +02:00
96453886e2 add wifi uwe driver firmware and kernel support(KMETA) 2024-04-25 23:44:57 +02:00
10173513ea add orange-pi-3lts machine config and u-boot support for this board 2024-04-25 23:44:57 +02:00
c475a1851a linux-mainline: Added LINUX_VERSION variable
Fixes:

File "/home/retpolanne/Dev/orange-pi-one-plus-image/poky/scripts/lib/devtool/standard.py", line 839, in modify
if (os.path.exists(srcdir) and os.listdir(srcdir)) and (kernelVersion in staging_kerVer and staging_kbranch == kbranch):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'in ' requires string as left operand, not NoneType

While running devtool modify virtual/kernel.


Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-04-25 08:52:15 +02:00
7cd5e692b7 conf: Added scarthgap compat
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-04-24 14:16:22 +02:00
089c34a7bc linux-mainline: Bump kernel to 6.6
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
2024-04-24 14:15:15 +02:00
cc1de9f039 linux-mainline: Add "allwinner" prefix only if not available
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-20 13:02:33 +01:00
cd1031613f Revert "misc: Drop allwinner prefix for machines"
This reverts commit 5257bb2738.
2023-11-20 12:53:14 +01:00
e21fd8733d Revert "conf: Move logic for handling dtb in deploy dir to common include"
This reverts commit c867cb74e2.
2023-11-20 12:35:09 +01:00
5257bb2738 misc: Drop allwinner prefix for machines
As we have automatic KERNEL_DEVICETREE prefix handling we don't need to add
allwinner prefix

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-13 10:59:46 +01:00
40c6d52123 xradio: Update to other repo
Update to one which have up-to-date development. Old one is not compilin anymore.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-10 14:00:53 +01:00
c7782f7180 linux-mainline: Drop 5.10 and 5.4 releases
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-10 13:41:51 +01:00
3ace4df57b linux-mainline: Bump kernel to 6.5.11
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-10 13:41:21 +01:00
4895ae7bdf Added compatibility to nanbield
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-11-10 12:02:31 +01:00
75f21bc538 u-boot: boot.cmd: Use allwinner prefix for dtb
To avoid patching u-boot configs for all machines update prefix for all arm machines.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-10-24 13:13:53 +02:00
af98b13aca conf: Set linux 6.5 as preffered
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-10-24 13:13:53 +02:00
c867cb74e2 conf: Move logic for handling dtb in deploy dir to common include
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-10-24 13:13:53 +02:00
ca39c18cb9 linux-mainline: Added handling for 6.5 kernels
Added automatic allwinner prepend for dtb + also patches handling for kernels
< 6.5

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-10-24 13:13:48 +02:00
82965e1bc6 linux-mainline: Add version 6.5.8
Refresh patches with new allwinner prefix.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-10-24 13:12:11 +02:00
6c6ef34b69 Merge pull request #391 from buldo/device-orange-pi-lite
New device Orange PI lite
2023-10-02 07:24:57 +02:00
6cba9f71bb pi lite files 2023-09-30 22:53:27 +03:00
8b4609b9dc Merge pull request #389 from retpolanne/master
add u-boot ethernet support to orange pi one plus (h6)
2023-07-12 13:44:28 +02:00
5dcf6c40d4 add u-boot ethernet support to orange pi one plus (h6)
This patch adds ethernet support to orange pi one plus. The patch has
been submitted to the mailing list and is being added to the bbappend
for u-boot.

Unfortunately, is doesn't keep ethernet on after kernel boot, as the
kernel dts needs to be synced with the u-boot dts.

Submitted patch waiting for approval on the upstream: https://lore.kernel.org/u-boot/30debca8b31ed4d2cbd64850d48b81ac@posteo.net/T/#t
2023-07-12 08:11:36 -03:00
1407c41748 Merge pull request #388 from 3mdeb/lamobo-r1-platform
Added `.conf` file for lamobo-r1 platorm
2023-07-11 14:48:03 +02:00
533a3ac16d machine/lamobo-r1.conf: added conf for lamobo-r1 2023-07-11 14:19:14 +02:00
ea627f0920 Fix booting for orange-pi-one-plus machine
Use proper config for ATF.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-07-04 15:09:36 +02:00
441baea0ef Merge pull request #385 from retpolanne/master
Fixes Upstream-Status lines in a few u-boot patches
2023-07-03 14:37:40 +02:00
cd266517ee Fixes Upstream-Status lines in a few u-boot patches
Fixes #384

Signed-off-by: Anne Macedo <retpolanne@posteo.net>
2023-07-03 09:30:11 -03:00
5914ca8c1c Update README.md 2023-05-31 09:34:32 +02:00
776eafbb2e Merge pull request #381 from jonmason/master
remove deprecated variable and use meta-arm tf-a recipe
2023-05-31 09:33:14 +02:00
4bf7be7650 Merge pull request #383 from ludiazv/opiz2_dts
Add usb support for orange pi zero 2
2023-05-31 07:52:13 +02:00
d1f2121138 Add usb support for orange pi zero 2 2023-05-30 16:09:54 +02:00
7ab8fb6211 atf: convert to use meta-arm trusted-firmware-a recipe
Instead of using and maintaining a unique recipe for trusted-firmware-a
(formerly known as ARM trusted firmware, or ATF), use the recipe located
in meta-arm.  It is well maintained and in use in multiple other layers.

Tested with pine64-plus

Signed-off-by: Jon Mason <jdmason@kudzu.us>
2023-05-24 11:44:53 -04:00
b55c255f22 conf/machine: change deprecated SERIAL_CONSOLE variable
The SERIAL_CONSOLE variable has been deprecated since version 2.6
See
https://git.openembedded.org/openembedded-core/commit/?id=9d053af1fb570b4e3483de4ecd6827e1e0be61b7
Modify to use SERIAL_CONSOLES

Signed-off-by: Jon Mason <jdmason@kudzu.us>
2023-05-24 11:43:37 -04:00
ab649c5d39 Merge pull request #379 from ludiazv/sunxi64_wic_fix
fix wic including the device tree file in IMAGE_BOOT_FILES
2023-05-22 07:50:14 +02:00
3f1bb863a7 fix wic including the device tree file in IMAGE_BOOT_FILES 2023-05-20 16:41:29 +02:00
21d137f559 Remove unused sdcard_image-sunxi.bbclass
We provide wic images for 32 and 64 bit boards thus remove legacy class

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-05-11 13:09:44 +02:00
c67912122c u-boot: Added custom boot.cmd
For bananapi emmc is on mmc2 not mmc1

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-05-11 13:09:44 +02:00
0fe08a24d6 linux-mainline: Added mmc aliases for bananapi-m64
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-05-11 13:09:44 +02:00
7b951191fb atf: Use for all devices not only for H616
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-05-11 13:09:44 +02:00
5723c27da1 Add wic support for sunxi 64 boards
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: ludiazv <ldiaz@atloideas.com>
2023-05-11 13:09:39 +02:00
27aadbc9bf Merge pull request #374 from ehoseini/update-machine-variable
Fix incorrect machine variable
2023-04-18 07:44:34 +02:00
9642c1bf2f The name of the machine variable resulted in an incorrect build. This commit updates the machine name to the correct format and it updates the description. 2023-04-17 21:19:28 +01:00
569d314517 Update README.md 2023-04-04 08:42:23 +02:00
f93ef86045 Merge pull request #372 from ehoseini/adhereYoctoNamingConvention
Adhere naming convention
2023-04-04 08:36:26 +02:00
9357921fe9 adhere naming convention as stated in yocto manual 2023-04-03 23:32:41 +01:00
7540e7cef4 Merge pull request #371 from pblxptr/opiz2-kernel6x-fix
Fix file permissions in patches for Orange Pi Zero 2 with Kernel 6x
2023-04-01 20:44:59 +02:00
28b8144df8 Fix file permissions in patches. 2023-03-31 09:21:42 +02:00
046a1e27ed Merge pull request #369 from pblxptr/opiz2-kernel6x
Introduce support for Orange Pi Zero 2 for Kernel 6.1
2023-03-17 10:54:20 +01:00
8bdb29e399 Add support for uwe5622 wifi driver for Orange Pi Zero 2. 2023-03-16 16:14:34 +01:00
c4c91b604b Add support for Orange Pi Zero 2 for Kernel 6.x 2023-03-16 09:52:18 +01:00
54a4db9b55 Fix ATF warnings caused by the chanages introduced in binutils 2.39. 2023-03-16 09:50:30 +01:00
1a42a71bb1 Merge pull request #364 from linux-sunxi/master-next
Update kernel for master
2023-02-22 09:16:49 +01:00
be26c5dd90 Use 6.x kernel by default
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-02-03 13:41:54 +01:00
f87d85fa2e linux-mainline: Add handling for 6.x kernel
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-02-03 13:41:20 +01:00
6c94abe54d linux-mainline: Bump to latest releases
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-02-03 13:41:16 +01:00
3bab03d8a2 conf: machine: Add "Orange Pi One Plus" support
Signed-off-by: Ilja Byckevich <iljabyckevich@gmail.com>
2023-01-31 08:19:41 +01:00
34ac6458dd xserver-xorg: Added xshmfence dependency
Fixes following:
ERROR: Problem encountered: DRI3 requested, but xshmfence not found

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-01-25 13:35:57 +01:00
b25b74412c mega-gl: Added more dependencies to fix config issue
Fix following:
ERROR: Problem encountered: xlib based GLX requires at least one gallium driver


Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-01-25 13:35:54 +01:00
48acd228c9 sunxi.inc: Drop xf86-video-turbo
It cannot be compiled anymore drop it.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2023-01-25 13:35:49 +01:00
d28a0b02fe Merge pull request #357 from quaresmajose/next
layer: add mickledore compatibility
2023-01-10 08:11:04 +01:00
3276120687 layer: add mickledore compatibility
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2023-01-09 20:02:14 +00:00
62f2141df1 Merge pull request #355 from matteolel/banana-pi-zero
Banana pi zero and fix to boot stuck
2022-12-12 08:09:26 +01:00
73f3286067 Fix random stucks during boot
With my device, around one boot out of 3 was not able to finish. I found that the mmc
order was not correct in that cases.

Fix: enforcing device order in DTS.
2022-12-09 18:20:43 +01:00
cf0bf9671a Add bananapi-m2-zero machine 2022-12-09 18:18:29 +01:00
290a916e69 Merge pull request #351 from spanceac/patch-1
Use correct arch in sun5i.inc
2022-12-05 09:24:02 +01:00
b0c81db3de Use correct arch in sun5i.inc
Cortex-A8 architecture is ARMv7A.
Before this path fix the following failure was triggered when building for "olinuxino-a13"
machine:

"
[..]/meta-sunxi/conf/machine/include/sun5i.inc:3: Could not include required
file conf/machine/include/arm/armv8a/tune-cortexa8.inc
"
2022-11-29 15:47:38 +02:00
44040b0ea4 Merge pull request #349 from mpromonet/master
sunxi: add cam support to nanopi-neo-air
2022-10-11 07:21:32 +02:00
bb5817fe0e sunxi: add cam support to nanopi-neo-air
Signed-off-by: mpromonet <michel.promonet@free.fr>
2022-10-10 19:29:12 +02:00
b5de5d2be4 Merge pull request #348 from DAMEK86/fix/sunxi-mali-recipe
libgles: sunxi-mali: fix linter warnings
2022-10-03 22:41:35 +02:00
8bcf3b3ad4 libgles: sunxi-mali: fix linter warnings
fix the following linter warnings
- WARNING: sunxi-mali-git-r0 do_unpack: URL: gitsm://github.com/linux-sunxi/sunxi-mali.git uses git protocol which is no longer supported by github.
Please change to ;protocol=https in the url.
- WARNING: sunxi-mali-git-r0 do_unpack: URL: gitsm://github.com/linux-sunxi/sunxi-mali.git does not set any branch parameter.
The future default branch used by tools and repositories is uncertain
and we will therefore soon require this is set in all git urls.
2022-10-03 18:34:43 +02:00
d84706872b Merge pull request #347 from quaresmajose/langdale
layer.conf: add langdale compatibility
2022-09-30 21:13:55 +02:00
7278d3faaf layer.conf: add langdale compatibility
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2022-09-30 11:19:00 +00:00
8b3211e04c Merge pull request #346 from cpb-/cpb-devel
Fix `LICENSE` field of some recipes to correspond to Poky ones.
2022-09-12 07:25:31 +02:00
90189dae67 Fix LICENSE field of some recipes to correspond to Poky ones. 2022-09-09 14:00:13 +02:00
1b57b51612 Merge pull request #345 from apapillon/master
Fix inherit distutils3 error
2022-09-09 08:23:30 +02:00
a30c7ec984 Fix inherit distutils3 error 2022-09-08 15:09:17 +02:00
f3bbe9f079 u-boot: Fix booting issues for 64bit boards
In kirkstone we use u-boot 2022.01 which added as mandatory usage of scp.
As it's used for power relates stuff and we don't need it atm set to to empty.

Without this fix generated u-boot cannot boot.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2022-08-24 14:06:15 +02:00
179 changed files with 21962 additions and 13756 deletions

View File

@ -6,6 +6,7 @@ Official sunxi OpenEmbedded layer for Allwinner-based boards.
This layer depends on the additional layers: This layer depends on the additional layers:
* [meta-openembedded/meta-oe](http://git.openembedded.org/meta-openembedded/tree/meta-oe) * [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. Tested with core-image-base.
@ -16,6 +17,11 @@ Maintainers:
* Sergey Lapin <slapin@ossfans.org> * Sergey Lapin <slapin@ossfans.org>
* Marek Belisko <marek.belisko@gmail.com> * 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 Kernel / U-Boot Version
=========== ===========
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default. Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.

View File

@ -1,129 +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
#
#
# Use an uncompressed ext4 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext4"
# 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"
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
}

View File

@ -4,14 +4,14 @@ BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES # We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-sunxi" BBFILE_COLLECTIONS += "sunxi"
BBFILE_PATTERN_meta-sunxi := "^${LAYERDIR}/" BBFILE_PATTERN_sunxi := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-sunxi = "10" BBFILE_PRIORITY_sunxi = "10"
# This should only be incremented on significant changes that will # This should only be incremented on significant changes that will
# cause compatibility issues with other layers # cause compatibility issues with other layers
LAYERVERSION_meta-sunxi = "1" LAYERVERSION_sunxi = "1"
LAYERDEPENDS_meta-sunxi = "core meta-python" LAYERDEPENDS_sunxi = "core meta-python meta-arm"
LAYERSERIES_COMPAT_meta-sunxi = "honister kirkstone" LAYERSERIES_COMPAT_sunxi = "styhead"

View 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"

View File

@ -5,6 +5,5 @@
require conf/machine/include/sun8i.inc require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.inc require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "sun8i-h2-plus-bananapi-m2-zero.dtb" KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-bananapi-m2-zero.dtb"
UBOOT_MACHINE = "bananapi_m2_zero_defconfig" UBOOT_MACHINE = "bananapi_m2_zero_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "Bananapi_m2m_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "bananapi_m2_plus_h3_defconfig"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun7i.inc require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-bananapi.dtb" KERNEL_DEVICETREE = "allwinner/sun7i-a20-bananapi.dtb"
UBOOT_MACHINE = "Bananapi_config" UBOOT_MACHINE = "Bananapi_config"
SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex" SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun4i.inc require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-cubieboard.dtb" KERNEL_DEVICETREE = "allwinner/sun4i-a10-cubieboard.dtb"
UBOOT_MACHINE = "Cubieboard_config" UBOOT_MACHINE = "Cubieboard_config"
SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex" SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun7i.inc require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-cubieboard2.dtb" KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubieboard2.dtb"
UBOOT_MACHINE = "Cubieboard2_config" UBOOT_MACHINE = "Cubieboard2_config"
SUNXI_FEX_FILE = "sys_config/a20/cubieboard2.fex" SUNXI_FEX_FILE = "sys_config/a20/cubieboard2.fex"

View 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"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun7i.inc require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-cubietruck.dtb" KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubietruck.dtb"
UBOOT_MACHINE = "Cubietruck_config" UBOOT_MACHINE = "Cubietruck_config"
SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex" SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex"

View File

@ -1,5 +1,9 @@
# Include for boards with AMPAK 6212A Wifi / Bluetooth module # Include for boards with AMPAK 6212A Wifi / Bluetooth module
# https://linux-sunxi.org/Wifi#Ampak # https://linux-sunxi.org/Wifi#Ampak
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac" MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac kernel-module-hci-uart"
MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm43430" MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm43430 armbian-firmware-ap6212"
MACHINE_FEATURES:append = " bluetooth wifi"
KERNEL_FEATURES:append = " features/ap6212/ap6212.scc"

View 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"

View 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"

View File

@ -6,4 +6,3 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
MACHINEOVERRIDES =. "sun50i:" MACHINEOVERRIDES =. "sun50i:"
SOC_FAMILY = "sun50i-h616" SOC_FAMILY = "sun50i-h616"

View 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"

View File

@ -14,14 +14,13 @@ XSERVER = "xserver-xorg \
xf86-input-keyboard" xf86-input-keyboard"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline" PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "5.15.%" PREFERRED_VERSION_linux-mainline ?= "6.6.%"
PREFERRED_PROVIDER_u-boot ?= "u-boot" PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE ?= "uImage" KERNEL_IMAGETYPE ?= "uImage"
IMAGE_CLASSES += "sdcard_image-sunxi" IMAGE_FSTYPES += "ext3 tar.gz wic.gz wic.bmap"
IMAGE_FSTYPES += "ext3 tar.gz sunxi-sdimg wic.gz wic.bmap"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
@ -31,7 +30,7 @@ UBOOT_ENTRYPOINT ?= "0x40008000"
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin" 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" MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"
# Mimic the sdcard_image-sunxi.bbclass # Mimic the sdcard_image-sunxi.bbclass
@ -41,7 +40,7 @@ SUNXI_FEX_FILE ?= " "
SUNXI_BOOT_SPACE ?= "40" SUNXI_BOOT_SPACE ?= "40"
IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr" IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr"
# ship fex file for sunxi kernel, devicetree file for mainline kernel # 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_FILES ?= "sunxi-sdcard-image.wks.in"
WKS_FILE_DEPENDS ?= "virtual/kernel u-boot" WKS_FILE_DEPENDS ?= "virtual/kernel u-boot"
# in case of sunxi kernel, sunxi-board-fex must be built prior wic image assembly # in case of sunxi kernel, sunxi-board-fex must be built prior wic image assembly

View File

@ -4,23 +4,29 @@ include conf/machine/include/soc-family.inc
MACHINEOVERRIDES =. "sunxi:sunxi64:" MACHINEOVERRIDES =. "sunxi:sunxi64:"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline" PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "6.6.%"
PREFERRED_PROVIDER_u-boot ?= "u-boot" PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE ?= "Image" KERNEL_IMAGETYPE ?= "Image"
IMAGE_CLASSES += "sdcard_image-sunxi" IMAGE_FSTYPES += "ext4 tar.gz wic.gz wic.bmap"
IMAGE_FSTYPES += "ext4 tar.gz sunxi-sdimg"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}" UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000" UBOOT_ENTRYPOINT ?= "0x40008000"
UBOOT_LOADADDRESS ?= "0x400080OB00" UBOOT_LOADADDRESS ?= "0x40008000"
#UBOOT_BINARY ?= "u-boot.itb" #UBOOT_BINARY ?= "u-boot.itb"
SPL_BINARY ?= "spl/sunxi-spl.bin" 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" 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"

View 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"

View File

@ -6,4 +6,4 @@ require conf/machine/include/sun8i.inc
UBOOT_MACHINE = "LicheePi_Zero_defconfig" UBOOT_MACHINE = "LicheePi_Zero_defconfig"
KERNEL_DEVICETREE = "sun8i-v3s-licheepi-zero.dtb" KERNEL_DEVICETREE = "allwinner/sun8i-v3s-licheepi-zero.dtb"

View 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"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun4i.inc require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-marsboard.dtb" KERNEL_DEVICETREE = "allwinner/sun4i-a10-marsboard.dtb"
UBOOT_MACHINE = "Marsboard_A10_config" UBOOT_MACHINE = "Marsboard_A10_config"
SUNXI_FEX_FILE = "sys_config/a10/marsboard_a10.fex" SUNXI_FEX_FILE = "sys_config/a10/marsboard_a10.fex"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun4i.inc require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-a1000.dtb" KERNEL_DEVICETREE = "allwinner/sun4i-a10-a1000.dtb"
UBOOT_MACHINE = "Mele_A1000_config" UBOOT_MACHINE = "Mele_A1000_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex" SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"

View 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"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi-duo2
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Duo2, based on the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-nanopi-duo2.dtb"
UBOOT_MACHINE = "nanopi_duo2_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "nanopi_m1_plus_defconfig"

View File

@ -4,5 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "nanopi_m1_defconfig"

View File

@ -5,5 +5,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "nanopi_neo_air_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "nanopi_neo_defconfig"

View File

@ -4,5 +4,5 @@
require conf/machine/include/sun8i.inc require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-nanopi-r1.dtb" KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-r1.dtb"
UBOOT_MACHINE = "nanopi_r1_defconfig" UBOOT_MACHINE = "nanopi_r1_defconfig"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun4i.inc 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" 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"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun5i.inc 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" 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"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun5i.inc require conf/machine/include/sun5i.inc
KERNEL_DEVICETREE = "sun5i-a13-olinuxino.dtb" KERNEL_DEVICETREE = "allwinner/sun5i-a13-olinuxino.dtb"
UBOOT_MACHINE = "A13-OLinuXino_config" UBOOT_MACHINE = "A13-OLinuXino_config"
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex" SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun7i.inc 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" 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"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun7i.inc 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" 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"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun7i.inc 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" UBOOT_MACHINE = "A20-OLinuXino-Lime2-eMMC_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex" SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun7i.inc 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" UBOOT_MACHINE = "A20-OLinuXino-Lime2_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex" SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"

View File

@ -5,6 +5,6 @@
require conf/machine/include/sun7i.inc 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" UBOOT_MACHINE = "A20-Olimex-SOM-EVB_config"
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex" SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"

View 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 "

View 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"

View File

@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the Orange Pi One Plus, based on Allwinner H6 CPU #@DESCRIPTION: Machine configuration for the Orange Pi One Plus, based on Allwinner H6 CPU
require conf/machine/include/sun50i.inc require conf/machine/include/sun50i-h6.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-one-plus.dtb" KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-one-plus.dtb"
UBOOT_MACHINE = "orangepi_one_plus_defconfig" UBOOT_MACHINE = "orangepi_one_plus_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "orangepi_one_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "orangepi_pc_plus_defconfig"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "orangepi_pc_defconfig"

View 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"

View File

@ -4,6 +4,5 @@
require conf/machine/include/sun8i.inc require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h2-plus-orangepi-r1.dtb" KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-orangepi-r1.dtb"
UBOOT_MACHINE = "orangepi_r1_defconfig" UBOOT_MACHINE = "orangepi_r1_defconfig"

View File

@ -5,5 +5,5 @@
require conf/machine/include/sun8i.inc require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.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" UBOOT_MACHINE = "orangepi_zero_plus2_h3_defconfig"

View File

@ -1,9 +1,8 @@
#@TYPE: Machine #@TYPE: Machine
#@NAME: orange-pi-one #@NAME: orange-pi-zero
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU #@DESCRIPTION: Machine configuration for the orange-pi-zero, based on Allwinner H2 CPU
require conf/machine/include/sun8i.inc 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" UBOOT_MACHINE = "orangepi_zero_defconfig"

View File

@ -13,4 +13,9 @@ SPL_BINARY = "u-boot-sunxi-with-spl.bin"
MACHINE_FEATURES:remove = "alsa x11" MACHINE_FEATURES:remove = "alsa x11"
MACHINE_FEATURES:append = "bluetooth wifi" MACHINE_FEATURES:append = "bluetooth wifi"
MACHINE_EXTRA_RRECOMMENDS = "uwe5622-firmware" 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 "

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun4i.inc require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb" KERNEL_DEVICETREE = "allwinner/sun4i-a10-pcduino.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig" UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex" SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"

View File

@ -4,6 +4,6 @@
require conf/machine/include/sun7i.inc require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-pcduino3.dtb" KERNEL_DEVICETREE = "allwinner/sun7i-a20-pcduino3.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino3_defconfig" UBOOT_MACHINE = "Linksprite_pcDuino3_defconfig"
SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex" SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex"

View File

@ -1,26 +0,0 @@
From 087b9306659effac870b4794c0f775ce3d7208c5 Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@open-nandra.com>
Date: Wed, 13 Apr 2022 08:09:29 +0200
Subject: [PATCH] Use same type as in declaration
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
services/std_svc/psci/psci_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/services/std_svc/psci/psci_common.c b/services/std_svc/psci/psci_common.c
index 75f52f538..918a719f6 100644
--- a/services/std_svc/psci/psci_common.c
+++ b/services/std_svc/psci/psci_common.c
@@ -261,7 +261,7 @@ void psci_acquire_afflvl_locks(int start_afflvl,
******************************************************************************/
void psci_release_afflvl_locks(int start_afflvl,
int end_afflvl,
- aff_map_node_t *mpidr_nodes[])
+ mpidr_aff_map_nodes_t mpidr_nodes)
{
int level;
--
2.25.1

View File

@ -1,35 +0,0 @@
DESCRIPTION = "ARM Trusted Firmware Allwinner"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://license.md;md5=829bdeb34c1d9044f393d5a16c068371"
LIC_FILES_CHKSUM:sun50i-h616 = "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
SRC_URI = " \
git://github.com/apritzel/arm-trusted-firmware;nobranch=1;protocol=https \
file://0001-Use-same-type-as-in-declaration.patch \
"
SRCREV = "aa75c8da415158a94b82a430b2b40000778e851f"
SRC_URI:sun50i-h616 = "git://github.com/ARM-software/arm-trusted-firmware;nobranch=1;protocol=https"
SRCREV:sun50i-h616 = "f04dfbb297f03d7f8d7f7c00ce8712e1a10295cf"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(sun50i|sun50i-h616)"
PLATFORM:sun50i = "sun50iw1p1"
PLATFORM:sun50i-h616 = "sun50i_h616"
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
}

View File

@ -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"

View File

@ -3,7 +3,7 @@ From: Florin Sarbu <florin@resin.io>
Date: Wed, 12 Sep 2018 14:22:49 +0200 Date: Wed, 12 Sep 2018 14:22:49 +0200
Subject: [PATCH] nanopi_neo_air_defconfig: Enable eMMC support Subject: [PATCH] nanopi_neo_air_defconfig: Enable eMMC support
Upstream-status: Pending Upstream-Status: Pending
Signed-off-by: Florin Sarbu <florin@resin.io> Signed-off-by: Florin Sarbu <florin@resin.io>
--- ---

View File

@ -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

View File

@ -5,6 +5,8 @@ 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 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> Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
--- ---
diff --git a/configs/nanopi_r1_defconfig b/configs/nanopi_r1_defconfig diff --git a/configs/nanopi_r1_defconfig b/configs/nanopi_r1_defconfig

View File

@ -1,28 +0,0 @@
diff --git a/configs/nanopi_duo2_defconfig b/configs/nanopi_duo2_defconfig
new file mode 100644
index 0000000..1e51018
--- /dev/null
+++ b/configs/nanopi_duo2_defconfig
@@ -0,0 +1,21 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SYS_TEXT_BASE=0x4a000000
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_MACH_SUN8I_H3=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881979
+CONFIG_DRAM_ODT_EN=y
+# CONFIG_VIDEO_DE2 is not set
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-duo2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_CONSOLE_MUX=y
+CONFIG_SPL=y
+CONFIG_SYS_CLK_FREQ=480000000
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_SPL_SPI_SUNXI=y
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y

View File

@ -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"

View 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 = <&reg_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 = <&reg_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 = <&reg_gmac_3v3>;
+ allwinner,rx-delay-ps = <1500>;
+ allwinner,tx-delay-ps = <700>;
+ status = "okay";
+};
+
+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <&reg_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 = <&reg_cldo1>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ vmmc-supply = <&reg_vcc33_wifi>;
+ vqmmc-supply = <&reg_vcc_wifi_io>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+};
+
+&mmc2 {
+ vmmc-supply = <&reg_cldo1>;
+ vqmmc-supply = <&reg_bldo2>;
+ cap-mmc-hw-reset;
+ non-removable;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&ohci3 {
+ status = "okay";
+};
+
+&pio {
+ vcc-pc-supply = <&reg_bldo2>;
+ vcc-pd-supply = <&reg_cldo1>;
+ vcc-pg-supply = <&reg_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 = <&reg_vcc5v>;
+ vinb-supply = <&reg_vcc5v>;
+ vinc-supply = <&reg_vcc5v>;
+ vind-supply = <&reg_vcc5v>;
+ vine-supply = <&reg_vcc5v>;
+ aldoin-supply = <&reg_vcc5v>;
+ bldoin-supply = <&reg_vcc5v>;
+ cldoin-supply = <&reg_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 = <&reg_vcc5v>;
+ usb3_vbus-supply = <&reg_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

View File

@ -1,32 +0,0 @@
From eb31a4a141bf401f92426bd053a965022e47290d Mon Sep 17 00:00:00 2001
From: Chris Morgan <macromorgan@hotmail.com>
Date: Fri, 7 Jan 2022 11:52:54 -0600
Subject: [PATCH] i2c: mvtwsi: Add compatible string for allwinner,
sun4i-a10-i2c
This adds a compatible string for the Allwinner Sun4i-A10 I2C
controller. Without this, boards based on the R8 and A13 (at a
minimum) fail to boot.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Akash Gajjar <gajjar04akash@gmail.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
drivers/i2c/mvtwsi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c
index bad4b1484f..f48a4f25aa 100644
--- a/drivers/i2c/mvtwsi.c
+++ b/drivers/i2c/mvtwsi.c
@@ -900,6 +900,7 @@ static const struct dm_i2c_ops mvtwsi_i2c_ops = {
static const struct udevice_id mvtwsi_i2c_ids[] = {
{ .compatible = "marvell,mv64xxx-i2c", },
{ .compatible = "marvell,mv78230-i2c", },
+ { .compatible = "allwinner,sun4i-a10-i2c", },
{ .compatible = "allwinner,sun6i-a31-i2c", },
{ /* sentinel */ }
};
--
2.34.1

View File

@ -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

View File

@ -1,204 +0,0 @@
From 4ac73cb006bf34108ca280812e48942989a3575b Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@gmail.com>
Date: Wed, 24 Apr 2024 15:06:58 +0200
Subject: [PATCH] Added dtb for sun8i-h3-nanopi-r1 device
Taken from mainline: 2c597855aa17d11520da642d03c82ff0c68042ab
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun8i-h3-nanopi-r1.dts | 169 ++++++++++++++++++++++++++++
2 files changed, 170 insertions(+)
create mode 100644 arch/arm/dts/sun8i-h3-nanopi-r1.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 9a9be76e6d..7a984510fe 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -589,6 +589,7 @@ dtb-$(CONFIG_MACH_SUN8I_H3) += \
sun8i-h3-nanopi-m1-plus.dtb \
sun8i-h3-nanopi-neo.dtb \
sun8i-h3-nanopi-neo-air.dtb \
+ sun8i-h3-nanopi-r1.dtb \
sun8i-h3-orangepi-2.dtb \
sun8i-h3-orangepi-lite.dtb \
sun8i-h3-orangepi-one.dtb \
diff --git a/arch/arm/dts/sun8i-h3-nanopi-r1.dts b/arch/arm/dts/sun8i-h3-nanopi-r1.dts
new file mode 100644
index 0000000000..42cd1131ad
--- /dev/null
+++ b/arch/arm/dts/sun8i-h3-nanopi-r1.dts
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2019 Igor Pecovnik <igor@armbian.com>
+ * Copyright (C) 2020 Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
+ * Copyright (C) 2020 Yu-Tung Chang <mtwget@gmail.com>
+*/
+
+#include "sun8i-h3-nanopi.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "FriendlyARM NanoPi R1";
+ compatible = "friendlyarm,nanopi-r1", "allwinner,sun8i-h3";
+
+ aliases {
+ serial1 = &uart1;
+ ethernet0 = &emac;
+ ethernet1 = &wifi;
+ };
+
+ reg_gmac_3v3: gmac-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "gmac-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ startup-delay-us = <100000>;
+ enable-active-high;
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
+ };
+
+ reg_vdd_cpux: gpio-regulator {
+ compatible = "regulator-gpio";
+ regulator-name = "vdd-cpux";
+ regulator-type = "voltage";
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-ramp-delay = <50>;
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+ gpios-states = <0x1>;
+ states = <1100000 0x0>,
+ <1300000 0x1>;
+ };
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+ clocks = <&rtc CLK_OSC32K_FANOUT>;
+ clock-names = "ext_clock";
+ };
+
+ leds {
+ led-2 {
+ function = LED_FUNCTION_WAN;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
+ };
+
+ led-3 {
+ function = LED_FUNCTION_LAN;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>; /* PA9 */
+ };
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&reg_vdd_cpux>;
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&ehci2 {
+ status = "okay";
+};
+
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&emac_rgmii_pins>;
+ phy-supply = <&reg_gmac_3v3>;
+ phy-handle = <&ext_rgmii_phy>;
+ phy-mode = "rgmii-id";
+ status = "okay";
+};
+
+&external_mdio {
+ ext_rgmii_phy: ethernet-phy@7 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <7>;
+ };
+};
+
+&mmc1 {
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ wifi: wifi@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 = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ bus-width = <8>;
+ non-removable;
+ status = "okay";
+};
+
+&ohci1 {
+ status = "okay";
+};
+
+&ohci2 {
+ status = "okay";
+};
+
+&reg_usb0_vbus {
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
+ status = "okay";
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>;
+ status = "okay";
+};
+
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
+ uart-has-rtscts;
+ status = "okay";
+
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ clocks = <&rtc CLK_OSC32K_FANOUT>;
+ clock-names = "lpo";
+ vbat-supply = <&reg_vcc3v3>;
+ vddio-supply = <&reg_vcc3v3>;
+ device-wakeup-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */
+ host-wakeup-gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */
+ shutdown-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
+ };
+};
+
+&usb_otg {
+ status = "okay";
+ dr_mode = "otg";
+};
+
+&usbphy {
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
+ usb0_vbus-supply = <&reg_usb0_vbus>;
+ status = "okay";
+};
--
2.25.1

View File

@ -1,35 +0,0 @@
From 08aab303e36a3da19d49f111e5f2ad7d85b642fd Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@gmail.com>
Date: Wed, 24 Apr 2024 15:32:12 +0200
Subject: [PATCH] nanopi-r1: dts fixes
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
---
arch/arm/dts/sun8i-h3-nanopi-r1.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/sun8i-h3-nanopi-r1.dts b/arch/arm/dts/sun8i-h3-nanopi-r1.dts
index 42cd1131ad..26e2e6172e 100644
--- a/arch/arm/dts/sun8i-h3-nanopi-r1.dts
+++ b/arch/arm/dts/sun8i-h3-nanopi-r1.dts
@@ -46,7 +46,7 @@
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
- clocks = <&rtc CLK_OSC32K_FANOUT>;
+ clocks = <&rtc 1>;
clock-names = "ext_clock";
};
@@ -147,7 +147,7 @@
bluetooth {
compatible = "brcm,bcm43438-bt";
- clocks = <&rtc CLK_OSC32K_FANOUT>;
+ clocks = <&rtc 1>;
clock-names = "lpo";
vbat-supply = <&reg_vcc3v3>;
vddio-supply = <&reg_vcc3v3>;
--
2.25.1

View File

@ -6,6 +6,6 @@ if itest.b *0x28 == 0x02 ; then
rootdev=mmcblk1p2 rootdev=mmcblk1p2
fi fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra} 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 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} bootz ${kernel_addr_r} - ${fdt_addr_r} || bootm ${kernel_addr_r} - ${fdt_addr_r}

View 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}

View File

@ -1,9 +1,9 @@
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:sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native "
DEPENDS:append:sun50i = " atf-sunxi " 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:sun4i = "1"
DEFAULT_PREFERENCE:sun5i = "1" DEFAULT_PREFERENCE:sun5i = "1"
@ -12,14 +12,19 @@ DEFAULT_PREFERENCE:sun8i = "1"
DEFAULT_PREFERENCE:sun50i = "1" DEFAULT_PREFERENCE:sun50i = "1"
SRC_URI:append:sunxi = " \ SRC_URI:append:sunxi = " \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \ file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
file://0002-Added-nanopi-r1-board-support.patch \ file://0002-Added-nanopi-r1-board-support.patch \
file://0003-Add-nanopi-duo2-board-support.patch \ file://0003-sunxi-H6-Enable-Ethernet-on-Orange-Pi-One-Plus.patch \
file://0004-i2c-mvtwsi-Add-compatible-string-for-allwinner-sun4i.patch \ file://0004-OrangePi-3-LTS-support.patch \
file://0005-Added-dtb-for-sun8i-h3-nanopi-r1-device.patch \ file://boot.cmd \
file://0006-nanopi-r1-dts-fixes.patch \
file://boot.cmd \
" "
SRC_URI:append:sun9i = " \
file://0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch \
"
SRC_URI:append:mangopi-mq-t-t113 = " \
file://0004-mangopi-mq-r-t113-Fix-serial-console.patch \
"
UBOOT_ENV_SUFFIX:sunxi = "scr" UBOOT_ENV_SUFFIX:sunxi = "scr"
UBOOT_ENV:sunxi = "boot" UBOOT_ENV:sunxi = "boot"
@ -27,8 +32,8 @@ UBOOT_ENV:sunxi = "boot"
EXTRA_OEMAKE:append:sunxi = ' HOSTLDSHARED="${BUILD_CC} -shared ${BUILD_LDFLAGS} ${BUILD_CFLAGS}" ' 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" EXTRA_OEMAKE:append:sun50i = " BL31=${DEPLOY_DIR_IMAGE}/bl31.bin SCP=/dev/null"
do_compile_sun50i[depends] += "atf-sunxi:do_deploy" do_compile:sun50i[depends] += "trusted-firmware-a:do_deploy"
do_compile:append:sunxi() { do_compile:append:sunxi() {
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY} ${B}/tools/mkimage -C none -A arm -T script -d ${UNPACKDIR}/boot.cmd ${UNPACKDIR}/${UBOOT_ENV_BINARY}
} }

View File

@ -0,0 +1 @@
/home/marek/data/projects/kas/sources/meta-sunxi/recipes-devtools/python/files/olinuxino-a20lime2

View File

@ -13,10 +13,10 @@ SRC_URI = "https://pypi.python.org/packages/source/p/pyA20/pyA20-${PV}.tar.gz \
" "
S = "${WORKDIR}/pyA20-${PV}" S = "${WORKDIR}/pyA20-${PV}"
inherit distutils3 inherit setuptools3
do_compile:prepend() { do_compile:prepend() {
cp ${WORKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h cp ${UNPACKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
} }
SRC_URI[md5sum] = "cab03b4931199804603d1074f6d8f48f" SRC_URI[md5sum] = "cab03b4931199804603d1074f6d8f48f"

View File

@ -22,7 +22,7 @@ python __anonymous() {
} }
SRCREV = "d343311efc8db166d8371b28494f0f27b6a58724" SRCREV = "d343311efc8db166d8371b28494f0f27b6a58724"
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \ SRC_URI = "git://github.com/linux-sunxi/sunxi-mali.git;protocol=https;branch=master \
file://0001-Add-EGLSyncKHR-EGLTimeKHR-and-GLChar-definition.patch \ file://0001-Add-EGLSyncKHR-EGLTimeKHR-and-GLChar-definition.patch \
file://0002-Add-missing-GLchar-definition.patch \ file://0002-Add-missing-GLchar-definition.patch \
file://0003-Fix-sed-to-replace-by-the-correct-var.patch \ file://0003-Fix-sed-to-replace-by-the-correct-var.patch \

View File

@ -20,7 +20,7 @@ CFLAGS += " -I${STAGING_INCDIR}/xorg "
do_install:append() { do_install:append() {
install -d ${D}${datadir}/X11/xorg.conf.d 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"

View File

@ -1 +1 @@
DEPENDS += "libxshmfence" PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"

View 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))
}

View File

@ -6,8 +6,21 @@
# WARNING: The following commit is required for NVRAM files to be included in # WARNING: The following commit is required for NVRAM files to be included in
# linux-firmware-bcm43430 package: # linux-firmware-bcm43430 package:
# http://git.openembedded.org/openembedded-core/commit/?id=dde0f79f32fa6bab045ef60199903f74c4cc3393 # 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.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.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.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
} }

View File

@ -1,907 +0,0 @@
From 4de4213f698a5962f839f671e4dec247baa35d5b Mon Sep 17 00:00:00 2001
From: Patryk Biel <patryk.biel.external@trumpf.com>
Date: Wed, 25 Jan 2023 20:30:15 +0100
Subject: [PATCH] Add device tree from master
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../allwinner/sun50i-h616-orangepi-zero2.dts | 261 ++++++++
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 590 ++++++++++++++++++
include/dt-bindings/clock/sun6i-rtc.h | 10 +
4 files changed, 862 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
create mode 100644 include/dt-bindings/clock/sun6i-rtc.h
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index a96d9d2d8..471822f5f 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -37,3 +37,4 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
new file mode 100644
index 000000000..e92055145
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
@@ -0,0 +1,261 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+/*
+ * Copyright (C) 2020 Arm Ltd.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h616.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "OrangePi Zero2";
+ compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
+
+ aliases {
+ ethernet0 = &emac0;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_RED>;
+ gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
+ default-state = "on";
+ };
+
+ led-1 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
+ };
+ };
+
+ reg_vcc5v: vcc5v {
+ /* board wide 5V supply directly from the USB-C socket */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ 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>;
+ regulator-always-on;
+ vin-supply = <&reg_vcc5v>;
+ };
+
+ 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 = <&reg_vcc33_wifi>;
+ };
+
+ wifi_pwrseq: wifi-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "osc32k-out";
+ reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
+ post-power-on-delay-ms = <200>;
+ };
+};
+
+&emac0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&ext_rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <&reg_dcdce>;
+ allwinner,rx-delay-ps = <3100>;
+ allwinner,tx-delay-ps = <700>;
+ status = "okay";
+};
+
+&mmc1 {
+ vmmc-supply = <&reg_vcc33_wifi>;
+ vqmmc-supply = <&reg_vcc_wifi_io>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ mmc-ddr-1_8v;
+ status = "okay";
+
+ uwe-bsp {
+ compatible = "unisoc,uwe_bsp";
+ keep-power-on;
+ data-irq;
+ //adma-tx;
+ adma-rx;
+ //blksz-512;
+ status = "okay";
+ };
+};
+
+&mdio0 {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
+&mmc0 {
+ vmmc-supply = <&reg_dcdce>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&r_rsb {
+ status = "okay";
+
+ axp305: pmic@745 {
+ compatible = "x-powers,axp305", "x-powers,axp805",
+ "x-powers,axp806";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ reg = <0x745>;
+
+ x-powers,self-working-mode;
+ vina-supply = <&reg_vcc5v>;
+ vinb-supply = <&reg_vcc5v>;
+ vinc-supply = <&reg_vcc5v>;
+ vind-supply = <&reg_vcc5v>;
+ vine-supply = <&reg_vcc5v>;
+ aldoin-supply = <&reg_vcc5v>;
+ bldoin-supply = <&reg_vcc5v>;
+ cldoin-supply = <&reg_vcc5v>;
+
+ regulators {
+ reg_aldo1: aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-sys";
+ };
+
+ reg_aldo2: aldo2 { /* 3.3V on headers */
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc3v3-ext";
+ };
+
+ reg_aldo3: aldo3 { /* 3.3V on headers */
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc3v3-ext2";
+ };
+
+ reg_bldo1: bldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc1v8";
+ };
+
+ bldo2 {
+ /* unused */
+ };
+
+ bldo3 {
+ /* unused */
+ };
+
+ bldo4 {
+ /* unused */
+ };
+
+ cldo1 {
+ /* reserved */
+ };
+
+ cldo2 {
+ /* unused */
+ };
+
+ cldo3 {
+ /* unused */
+ };
+
+ reg_dcdca: dcdca {
+ regulator-always-on;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpu";
+ };
+
+ reg_dcdcc: dcdcc {
+ regulator-always-on;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <990000>;
+ regulator-name = "vdd-gpu-sys";
+ };
+
+ reg_dcdcd: dcdcd {
+ regulator-always-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vdd-dram";
+ };
+
+ reg_dcdce: dcdce {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-eth-mmc";
+ };
+
+ sw {
+ /* unused */
+ };
+ };
+ };
+};
+
+&pio {
+ vcc-pc-supply = <&reg_aldo1>;
+ vcc-pf-supply = <&reg_aldo1>;
+ vcc-pg-supply = <&reg_bldo1>;
+ vcc-ph-supply = <&reg_aldo1>;
+ vcc-pi-supply = <&reg_aldo1>;
+};
+
+&spi0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;
+
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_ph_pins>;
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
new file mode 100644
index 000000000..ab344ea8a
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -0,0 +1,590 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (C) 2020 Arm Ltd.
+// based on the H6 dtsi, which is:
+// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun50i-h616-ccu.h>
+#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
+#include <dt-bindings/clock/sun6i-rtc.h>
+#include <dt-bindings/reset/sun50i-h616-ccu.h>
+#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
+
+/ {
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a53";
+ device_type = "cpu";
+ reg = <0>;
+ enable-method = "psci";
+ clocks = <&ccu CLK_CPUX>;
+ };
+
+ cpu1: cpu@1 {
+ compatible = "arm,cortex-a53";
+ device_type = "cpu";
+ reg = <1>;
+ enable-method = "psci";
+ clocks = <&ccu CLK_CPUX>;
+ };
+
+ cpu2: cpu@2 {
+ compatible = "arm,cortex-a53";
+ device_type = "cpu";
+ reg = <2>;
+ enable-method = "psci";
+ clocks = <&ccu CLK_CPUX>;
+ };
+
+ cpu3: cpu@3 {
+ compatible = "arm,cortex-a53";
+ device_type = "cpu";
+ reg = <3>;
+ enable-method = "psci";
+ clocks = <&ccu CLK_CPUX>;
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * 256 KiB reserved for Trusted Firmware-A (BL31).
+ * This is added by BL31 itself, but some bootloaders fail
+ * to propagate this into the DTB handed to kernels.
+ */
+ secmon@40000000 {
+ reg = <0x0 0x40000000 0x0 0x40000>;
+ no-map;
+ };
+ };
+
+ osc24M: osc24M-clk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "osc24M";
+ };
+
+ pmu {
+ compatible = "arm,cortex-a53-pmu";
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ arm,no-tick-in-suspend;
+ interrupts = <GIC_PPI 13
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 14
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 11
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 10
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0x0 0x40000000>;
+
+ syscon: syscon@3000000 {
+ compatible = "allwinner,sun50i-h616-system-control";
+ reg = <0x03000000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ sram_c: sram@28000 {
+ compatible = "mmio-sram";
+ reg = <0x00028000 0x30000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x00028000 0x30000>;
+ };
+ };
+
+ ccu: clock@3001000 {
+ compatible = "allwinner,sun50i-h616-ccu";
+ reg = <0x03001000 0x1000>;
+ clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>;
+ clock-names = "hosc", "losc", "iosc";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ watchdog: watchdog@30090a0 {
+ compatible = "allwinner,sun50i-h616-wdt",
+ "allwinner,sun6i-a31-wdt";
+ reg = <0x030090a0 0x20>;
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc24M>;
+ };
+
+ pio: pinctrl@300b000 {
+ compatible = "allwinner,sun50i-h616-pinctrl";
+ reg = <0x0300b000 0x400>;
+ interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>;
+ clock-names = "apb", "hosc", "losc";
+ gpio-controller;
+ #gpio-cells = <3>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+
+ ext_rgmii_pins: rgmii-pins {
+ pins = "PI0", "PI1", "PI2", "PI3", "PI4",
+ "PI5", "PI7", "PI8", "PI9", "PI10",
+ "PI11", "PI12", "PI13", "PI14", "PI15",
+ "PI16";
+ function = "emac0";
+ drive-strength = <40>;
+ };
+
+ i2c0_pins: i2c0-pins {
+ pins = "PI6", "PI7";
+ function = "i2c0";
+ };
+
+ i2c3_ph_pins: i2c3-ph-pins {
+ pins = "PH4", "PH5";
+ function = "i2c3";
+ };
+
+ ir_rx_pin: ir-rx-pin {
+ pins = "PH10";
+ function = "ir_rx";
+ };
+
+ mmc0_pins: mmc0-pins {
+ pins = "PF0", "PF1", "PF2", "PF3",
+ "PF4", "PF5";
+ function = "mmc0";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ /omit-if-no-ref/
+ mmc1_pins: mmc1-pins {
+ pins = "PG0", "PG1", "PG2", "PG3",
+ "PG4", "PG5";
+ function = "mmc1";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ mmc2_pins: mmc2-pins {
+ pins = "PC0", "PC1", "PC5", "PC6",
+ "PC8", "PC9", "PC10", "PC11",
+ "PC13", "PC14", "PC15", "PC16";
+ function = "mmc2";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ /omit-if-no-ref/
+ spi0_pins: spi0-pins {
+ pins = "PC0", "PC2", "PC4";
+ function = "spi0";
+ };
+
+ /omit-if-no-ref/
+ spi0_cs0_pin: spi0-cs0-pin {
+ pins = "PC3";
+ function = "spi0";
+ };
+
+ /omit-if-no-ref/
+ spi1_pins: spi1-pins {
+ pins = "PH6", "PH7", "PH8";
+ function = "spi1";
+ };
+
+ /omit-if-no-ref/
+ spi1_cs0_pin: spi1-cs0-pin {
+ pins = "PH5";
+ function = "spi1";
+ };
+
+ uart0_ph_pins: uart0-ph-pins {
+ pins = "PH0", "PH1";
+ function = "uart0";
+ };
+
+ /omit-if-no-ref/
+ uart1_pins: uart1-pins {
+ pins = "PG6", "PG7";
+ function = "uart1";
+ };
+
+ /omit-if-no-ref/
+ uart1_rts_cts_pins: uart1-rts-cts-pins {
+ pins = "PG8", "PG9";
+ function = "uart1";
+ };
+ };
+
+ gic: interrupt-controller@3021000 {
+ compatible = "arm,gic-400";
+ reg = <0x03021000 0x1000>,
+ <0x03022000 0x2000>,
+ <0x03024000 0x2000>,
+ <0x03026000 0x2000>;
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ };
+
+ mmc0: mmc@4020000 {
+ compatible = "allwinner,sun50i-h616-mmc",
+ "allwinner,sun50i-a100-mmc";
+ reg = <0x04020000 0x1000>;
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+ clock-names = "ahb", "mmc";
+ resets = <&ccu RST_BUS_MMC0>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+ status = "disabled";
+ max-frequency = <150000000>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ mmc-ddr-3_3v;
+ cap-sdio-irq;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ mmc1: mmc@4021000 {
+ compatible = "allwinner,sun50i-h616-mmc",
+ "allwinner,sun50i-a100-mmc";
+ reg = <0x04021000 0x1000>;
+ clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
+ clock-names = "ahb", "mmc";
+ resets = <&ccu RST_BUS_MMC1>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ status = "disabled";
+ max-frequency = <150000000>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ mmc-ddr-3_3v;
+ cap-sdio-irq;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ mmc2: mmc@4022000 {
+ compatible = "allwinner,sun50i-h616-emmc",
+ "allwinner,sun50i-a100-emmc";
+ reg = <0x04022000 0x1000>;
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+ clock-names = "ahb", "mmc";
+ resets = <&ccu RST_BUS_MMC2>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+ status = "disabled";
+ max-frequency = <150000000>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ mmc-ddr-3_3v;
+ cap-sdio-irq;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ uart0: serial@5000000 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05000000 0x400>;
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART0>;
+ resets = <&ccu RST_BUS_UART0>;
+ status = "disabled";
+ };
+
+ uart1: serial@5000400 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05000400 0x400>;
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART1>;
+ resets = <&ccu RST_BUS_UART1>;
+ status = "disabled";
+ };
+
+ uart2: serial@5000800 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05000800 0x400>;
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART2>;
+ resets = <&ccu RST_BUS_UART2>;
+ status = "disabled";
+ };
+
+ uart3: serial@5000c00 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05000c00 0x400>;
+ interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART3>;
+ resets = <&ccu RST_BUS_UART3>;
+ status = "disabled";
+ };
+
+ uart4: serial@5001000 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05001000 0x400>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART4>;
+ resets = <&ccu RST_BUS_UART4>;
+ status = "disabled";
+ };
+
+ uart5: serial@5001400 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x05001400 0x400>;
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&ccu CLK_BUS_UART5>;
+ resets = <&ccu RST_BUS_UART5>;
+ status = "disabled";
+ };
+
+ i2c0: i2c@5002000 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002000 0x400>;
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C0>;
+ resets = <&ccu RST_BUS_I2C0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c1: i2c@5002400 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002400 0x400>;
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C1>;
+ resets = <&ccu RST_BUS_I2C1>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c2: i2c@5002800 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002800 0x400>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C2>;
+ resets = <&ccu RST_BUS_I2C2>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c3: i2c@5002c00 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002c00 0x400>;
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C3>;
+ resets = <&ccu RST_BUS_I2C3>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c4: i2c@5003000 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05003000 0x400>;
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C4>;
+ resets = <&ccu RST_BUS_I2C4>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ spi0: spi@5010000 {
+ compatible = "allwinner,sun50i-h616-spi",
+ "allwinner,sun8i-h3-spi";
+ reg = <0x05010000 0x1000>;
+ interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
+ clock-names = "ahb", "mod";
+ resets = <&ccu RST_BUS_SPI0>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ spi1: spi@5011000 {
+ compatible = "allwinner,sun50i-h616-spi",
+ "allwinner,sun8i-h3-spi";
+ reg = <0x05011000 0x1000>;
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
+ clock-names = "ahb", "mod";
+ resets = <&ccu RST_BUS_SPI1>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ emac0: ethernet@5020000 {
+ compatible = "allwinner,sun50i-h616-emac0",
+ "allwinner,sun50i-a64-emac";
+ reg = <0x05020000 0x10000>;
+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ clocks = <&ccu CLK_BUS_EMAC0>;
+ clock-names = "stmmaceth";
+ resets = <&ccu RST_BUS_EMAC0>;
+ reset-names = "stmmaceth";
+ syscon = <&syscon>;
+ status = "disabled";
+
+ mdio0: mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ rtc: rtc@7000000 {
+ compatible = "allwinner,sun50i-h616-rtc",
+ "allwinner,sun50i-h6-rtc";
+ reg = <0x07000000 0x400>;
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ clock-output-names = "osc32k", "osc32k-out", "iosc";
+ #clock-cells = <1>;
+ };
+
+ r_ccu: clock@7010000 {
+ compatible = "allwinner,sun50i-h616-r-ccu";
+ reg = <0x07010000 0x210>;
+ clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>,
+ <&ccu CLK_PLL_PERIPH0>;
+ clock-names = "hosc", "losc", "iosc", "pll-periph";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ r_pio: pinctrl@7022000 {
+ compatible = "allwinner,sun50i-h616-r-pinctrl";
+ reg = <0x07022000 0x400>;
+ clocks = <&r_ccu CLK_R_APB1>, <&osc24M>,
+ <&rtc CLK_OSC32K>;
+ clock-names = "apb", "hosc", "losc";
+ gpio-controller;
+ #gpio-cells = <3>;
+
+ /omit-if-no-ref/
+ r_i2c_pins: r-i2c-pins {
+ pins = "PL0", "PL1";
+ function = "s_i2c";
+ };
+
+ r_rsb_pins: r-rsb-pins {
+ pins = "PL0", "PL1";
+ function = "s_rsb";
+ };
+ };
+
+ ir: ir@7040000 {
+ compatible = "allwinner,sun50i-h616-ir",
+ "allwinner,sun6i-a31-ir";
+ reg = <0x07040000 0x400>;
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_R_APB1_IR>,
+ <&r_ccu CLK_IR>;
+ clock-names = "apb", "ir";
+ resets = <&r_ccu RST_R_APB1_IR>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ir_rx_pin>;
+ status = "disabled";
+ };
+
+ r_i2c: i2c@7081400 {
+ compatible = "allwinner,sun50i-h616-i2c",
+ "allwinner,sun8i-v536-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x07081400 0x400>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_R_APB2_I2C>;
+ resets = <&r_ccu RST_R_APB2_I2C>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ r_rsb: rsb@7083000 {
+ compatible = "allwinner,sun50i-h616-rsb",
+ "allwinner,sun8i-a23-rsb";
+ reg = <0x07083000 0x400>;
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_R_APB2_RSB>;
+ clock-frequency = <3000000>;
+ resets = <&r_ccu RST_R_APB2_RSB>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_rsb_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+};
diff --git a/include/dt-bindings/clock/sun6i-rtc.h b/include/dt-bindings/clock/sun6i-rtc.h
new file mode 100644
index 000000000..c845493e4
--- /dev/null
+++ b/include/dt-bindings/clock/sun6i-rtc.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: (GPL-2.0+ or MIT) */
+
+#ifndef _DT_BINDINGS_CLK_SUN6I_RTC_H_
+#define _DT_BINDINGS_CLK_SUN6I_RTC_H_
+
+#define CLK_OSC32K 0
+#define CLK_OSC32K_FANOUT 1
+#define CLK_IOSC 2
+
+#endif /* _DT_BINDINGS_CLK_SUN6I_RTC_H_ */
--
2.34.1

View File

@ -1,27 +0,0 @@
From 9a7776b44588c24d04ffff63194d8a137624f8ac Mon Sep 17 00:00:00 2001
From: Patryk Biel <patryk.biel.external@trumpf.com>
Date: Thu, 26 Jan 2023 09:50:42 +0100
Subject: [PATCH] Add sunxi-info device tree node
---
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
index ab344ea8a..d0b95d43a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -586,5 +586,10 @@ r_rsb: rsb@7083000 {
#address-cells = <1>;
#size-cells = <0>;
};
+
+ sunxi-info {
+ compatible = "allwinner,sun50i-h616-sys-info";
+ status = "okay";
+ };
};
};
--
2.34.1

View File

@ -1,32 +0,0 @@
From 706dc6ed092e4a1b9d84893cb4186fbd354bb1c8 Mon Sep 17 00:00:00 2001
From: Patryk Biel <patryk.biel.external@trumpf.com>
Date: Thu, 26 Jan 2023 09:51:22 +0100
Subject: [PATCH] Add addr_mgt device tree node
---
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
index d0b95d43a..15f45a3f9 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -591,5 +591,15 @@ sunxi-info {
compatible = "allwinner,sun50i-h616-sys-info";
status = "okay";
};
+
+ addr_mgt {
+ compatible = "allwinner,sunxi-addr_mgt";
+ type_addr_wifi = <0x00>;
+ type_addr_bt = <0x00>;
+ type_addr_eth = <0x00>;
+ status = "okay";
+ linux,phandle = <0x179>;
+ phandle = <0x179>;
+ };
};
};
--
2.34.1

View File

@ -1,28 +0,0 @@
From 70a0c21f9bc1eed754cce584fe382883dc412db0 Mon Sep 17 00:00:00 2001
From: afaulkner420 <afaulkner420@gmail.com>
Date: Fri, 25 Mar 2022 20:31:26 +0000
Subject: [PATCH 08/11] uwe5622: bluetooth: Fix firmware init fail
---
net/bluetooth/hci_core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index c67390367..b2ee9b6a8 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -932,7 +932,11 @@ static int __hci_init(struct hci_dev *hdev)
err = __hci_req_sync(hdev, hci_init3_req, 0, HCI_INIT_TIMEOUT, NULL);
if (err < 0)
+#if defined(CONFIG_RK_WIFI_DEVICE_UWE5621) || defined(CONFIG_AW_WIFI_DEVICE_UWE5622)
+ ;
+#else
return err;
+#endif
err = __hci_req_sync(hdev, hci_init4_req, 0, HCI_INIT_TIMEOUT, NULL);
if (err < 0)
--
2.25.1

View File

@ -1,45 +0,0 @@
From bb564341bb6c64003abbf24fd5d5ef254060b040 Mon Sep 17 00:00:00 2001
From: Patryk Biel <patryk.biel.external@trumpf.com>
Date: Thu, 19 Jan 2023 10:46:28 +0100
Subject: [PATCH] Fix incldue path for unisocwcn
---
drivers/net/wireless/uwe5622/Makefile | 4 +++-
drivers/net/wireless/uwe5622/unisocwcn/Makefile | 6 +++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/uwe5622/Makefile b/drivers/net/wireless/uwe5622/Makefile
index 313ea5123..e9a398584 100644
--- a/drivers/net/wireless/uwe5622/Makefile
+++ b/drivers/net/wireless/uwe5622/Makefile
@@ -2,7 +2,9 @@ obj-$(CONFIG_AW_WIFI_DEVICE_UWE5622) += unisocwcn/
obj-$(CONFIG_WLAN_UWE5622) += unisocwifi/
obj-$(CONFIG_TTY_OVERY_SDIO) += tty-sdio/
-UNISOCWCN_DIR := $(shell cd $(src)/unisocwcn/ && /bin/pwd)
+mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+UNISOCWCN_DIR := $(dir $(mkfile_path))/unisocwcn/
+
UNISOC_BSP_INCLUDE := $(UNISOCWCN_DIR)/include
export UNISOC_BSP_INCLUDE
diff --git a/drivers/net/wireless/uwe5622/unisocwcn/Makefile b/drivers/net/wireless/uwe5622/unisocwcn/Makefile
index b62652f63..ae6e1e25a 100644
--- a/drivers/net/wireless/uwe5622/unisocwcn/Makefile
+++ b/drivers/net/wireless/uwe5622/unisocwcn/Makefile
@@ -119,9 +119,9 @@ ccflags-y += -DCONFIG_WCN_UTILS
#### include path ######
ccflags-y += -I$(src)/../tty-sdio
-ccflags-y += -I$(src)/include/
-ccflags-y += -I$(src)/platform/
-ccflags-y += -I$(src)/platform/rf/
+ccflags-y += -I$(srctree)/$(src)/include/
+ccflags-y += -I$(srctree)/$(src)/platform/
+ccflags-y += -I$(srctree)/$(src)/platform/rf/
#### add cflag for Customer ######
### ---------- Hisilicon start ---------- ###
--
2.34.1

View File

@ -1,7 +1,7 @@
SECTION = "kernel" SECTION = "kernel"
LICENSE = "GPL-2.0-only" LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)" COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
inherit kernel inherit kernel
@ -20,24 +20,36 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
LINUX_VERSION ?= "${PV}"
S = "${WORKDIR}/linux-${PV}" S = "${WORKDIR}/linux-${PV}"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz \ # get release version 5.x or 6.x based on version
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \ KRELEASE = "${@d.getVar('PV', True).split('.')[0]}"
file://0002-dts-nanopi-neo-air-add-camera.patch \
file://0003-dts-allwinner-bananapi-m2-zreo-Enforce-consistent-MM.patch \ SRC_URI = "https://www.kernel.org/pub/linux/kernel/v${KRELEASE}.x/linux-${PV}.tar.xz \
file://0004-i2c-mv64xxx-Add-atomic_xfer-method-to-driver.patch \ file://defconfig \
file://0005-i2c-mv64xxx-Remove-shutdown-method-from-driver.patch \ file://sunxi-kmeta;type=kmeta;name=sunxi-kmeta;destsuffix=sunxi-kmeta \
file://0006-orangepi-pc-plus-Added-mmc-aliases-to-have-consisten.patch \ "
file://defconfig \
# 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 \
" "
SRC_URI:append:use-mailine-graphics = " file://drm.cfg" SRC_URI:append:use-mailine-graphics = " file://drm.cfg"
SRC_URI:append:bananapi = " file://axp20x.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:bananapi-m2-zero = " file://axp20x.cfg"
SRC_URI:append:cubietruck = " file://axp20x.cfg" SRC_URI:append:cubietruck = " file://axp20x.cfg"
SRC_URI:append:nanopi-neo-air = " file://cam500b.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" FILES_${KERNEL_PACKAGE_NAME}-base:append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"

View File

@ -1,28 +0,0 @@
From 9b4baa9b5aab0511c46a1ae95485e1a3ea984352 Mon Sep 17 00:00:00 2001
From: matteolel <matteolel91@hotmail.it>
Date: Fri, 9 Dec 2022 16:38:11 +0000
Subject: [PATCH] dts: allwinner: bananapi-m2-zreo: Enforce consistent MMC
numbering
Enforce MMC number (sometimes the order was wrong and the device does not boot).
---
arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
index 8e8634ff2..37a2ed937 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
+++ b/arch/arm/boot/dts/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

View File

@ -1,145 +0,0 @@
From 544a8d75f3d6e60e160cd92dc56321484598a993 Mon Sep 17 00:00:00 2001
From: Chris Morgan <macromorgan@hotmail.com>
Date: Wed, 30 Mar 2022 12:16:57 -0500
Subject: [PATCH] i2c: mv64xxx: Add atomic_xfer method to driver
Add an atomic_xfer method to the driver so that it behaves correctly
when controlling a PMIC that is responsible for device shutdown.
The atomic_xfer method added is similar to the one from the i2c-rk3x
driver. When running an atomic_xfer a bool flag in the driver data is
set, the interrupt is not unmasked on transfer start, and the IRQ
handler is manually invoked while waiting for pending transfers to
complete.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
---
drivers/i2c/busses/i2c-mv64xxx.c | 52 ++++++++++++++++++++++++++++----
1 file changed, 46 insertions(+), 6 deletions(-)
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 424c53e4c513..103a05ecc3d6 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -150,6 +150,7 @@ struct mv64xxx_i2c_data {
/* Clk div is 2 to the power n, not 2 to the power n + 1 */
bool clk_n_base_0;
struct i2c_bus_recovery_info rinfo;
+ bool atomic;
};
static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_mv64xxx = {
@@ -179,7 +180,10 @@ mv64xxx_i2c_prepare_for_io(struct mv64xxx_i2c_data *drv_data,
u32 dir = 0;
drv_data->cntl_bits = MV64XXX_I2C_REG_CONTROL_ACK |
- MV64XXX_I2C_REG_CONTROL_INTEN | MV64XXX_I2C_REG_CONTROL_TWSIEN;
+ MV64XXX_I2C_REG_CONTROL_TWSIEN;
+
+ if (!drv_data->atomic)
+ drv_data->cntl_bits |= MV64XXX_I2C_REG_CONTROL_INTEN;
if (msg->flags & I2C_M_RD)
dir = 1;
@@ -409,7 +413,8 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
case MV64XXX_I2C_ACTION_RCV_DATA_STOP:
drv_data->msg->buf[drv_data->byte_posn++] =
readl(drv_data->reg_base + drv_data->reg_offsets.data);
- drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN;
+ if (!drv_data->atomic)
+ drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN;
writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_STOP,
drv_data->reg_base + drv_data->reg_offsets.control);
drv_data->block = 0;
@@ -427,7 +432,8 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
drv_data->rc = -EIO;
fallthrough;
case MV64XXX_I2C_ACTION_SEND_STOP:
- drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN;
+ if (!drv_data->atomic)
+ drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN;
writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_STOP,
drv_data->reg_base + drv_data->reg_offsets.control);
drv_data->block = 0;
@@ -575,6 +581,17 @@ mv64xxx_i2c_wait_for_completion(struct mv64xxx_i2c_data *drv_data)
spin_unlock_irqrestore(&drv_data->lock, flags);
}
+static void mv64xxx_i2c_wait_polling(struct mv64xxx_i2c_data *drv_data)
+{
+ ktime_t timeout = ktime_add_ms(ktime_get(), drv_data->adapter.timeout);
+
+ while (READ_ONCE(drv_data->block) &&
+ ktime_compare(ktime_get(), timeout) < 0) {
+ udelay(5);
+ mv64xxx_i2c_intr(0, drv_data);
+ }
+}
+
static int
mv64xxx_i2c_execute_msg(struct mv64xxx_i2c_data *drv_data, struct i2c_msg *msg,
int is_last)
@@ -590,7 +607,11 @@ mv64xxx_i2c_execute_msg(struct mv64xxx_i2c_data *drv_data, struct i2c_msg *msg,
mv64xxx_i2c_send_start(drv_data);
spin_unlock_irqrestore(&drv_data->lock, flags);
- mv64xxx_i2c_wait_for_completion(drv_data);
+ if (!drv_data->atomic)
+ mv64xxx_i2c_wait_for_completion(drv_data);
+ else
+ mv64xxx_i2c_wait_polling(drv_data);
+
return drv_data->rc;
}
@@ -717,7 +738,7 @@ mv64xxx_i2c_functionality(struct i2c_adapter *adap)
}
static int
-mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
+mv64xxx_i2c_xfer_core(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
{
struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap);
int rc, ret = num;
@@ -730,7 +751,7 @@ mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
drv_data->msgs = msgs;
drv_data->num_msgs = num;
- if (mv64xxx_i2c_can_offload(drv_data))
+ if (mv64xxx_i2c_can_offload(drv_data) && !drv_data->atomic)
rc = mv64xxx_i2c_offload_xfer(drv_data);
else
rc = mv64xxx_i2c_execute_msg(drv_data, &msgs[0], num == 1);
@@ -747,8 +768,27 @@ mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
return ret;
}
+static int
+mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
+{
+ struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap);
+
+ drv_data->atomic = 0;
+ return mv64xxx_i2c_xfer_core(adap, msgs, num);
+}
+
+static int mv64xxx_i2c_xfer_atomic(struct i2c_adapter *adap,
+ struct i2c_msg msgs[], int num)
+{
+ struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap);
+
+ drv_data->atomic = 1;
+ return mv64xxx_i2c_xfer_core(adap, msgs, num);
+}
+
static const struct i2c_algorithm mv64xxx_i2c_algo = {
.master_xfer = mv64xxx_i2c_xfer,
+ .master_xfer_atomic = mv64xxx_i2c_xfer_atomic,
.functionality = mv64xxx_i2c_functionality,
};
--
2.25.1

View File

@ -1,56 +0,0 @@
From 09b343038e3470e4d0da45f0ee09fb42107e5314 Mon Sep 17 00:00:00 2001
From: Chris Morgan <macromorgan@hotmail.com>
Date: Fri, 25 Mar 2022 13:06:25 -0500
Subject: [PATCH] i2c: mv64xxx: Remove shutdown method from driver
When I attempt to shut down (or reboot) my R8 based NTC CHIP with this
i2c driver I get the following error: "i2c i2c-0: mv64xxx: I2C bus
locked, block: 1, time_left: 0". Reboots are successful but shutdowns
freeze. If I comment out the shutdown routine the device both reboots
and shuts down successfully without receiving this error (however it
does receive a warning of missing atomic_xfer).
It appears that very few i2c drivers have a shutdown method, I assume
because these devices are often used to communicate with PMICs (such
as in my case with the R8 based NTC CHIP). I'm proposing we simply
remove this method so long as it doesn't cause trouble for others
downstream. I'll work on an atomic_xfer method and submit that in
a different patch.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
---
drivers/i2c/busses/i2c-mv64xxx.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 5c8e94b6cdb5..424c53e4c513 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -1047,14 +1047,6 @@ mv64xxx_i2c_remove(struct platform_device *pd)
return 0;
}
-static void
-mv64xxx_i2c_shutdown(struct platform_device *pd)
-{
- pm_runtime_disable(&pd->dev);
- if (!pm_runtime_status_suspended(&pd->dev))
- mv64xxx_i2c_runtime_suspend(&pd->dev);
-}
-
static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
SET_RUNTIME_PM_OPS(mv64xxx_i2c_runtime_suspend,
mv64xxx_i2c_runtime_resume, NULL)
@@ -1065,7 +1057,6 @@ static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
static struct platform_driver mv64xxx_i2c_driver = {
.probe = mv64xxx_i2c_probe,
.remove = mv64xxx_i2c_remove,
- .shutdown = mv64xxx_i2c_shutdown,
.driver = {
.name = MV64XXX_I2C_CTLR_NAME,
.pm = &mv64xxx_i2c_pm_ops,
--
2.25.1

View File

@ -1,30 +0,0 @@
From 60ffeb194d08817efab0467e2b2d7eff502f3276 Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@open-nandra.com>
Date: Wed, 10 Jan 2024 08:37:32 +0100
Subject: [PATCH] orangepi-pc-plus: Added mmc aliases to have consistent
devices
It fix random issues with boot problem.
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
index babf4cf1b..8c9bd76f5 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
@@ -50,6 +50,9 @@ / {
aliases {
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
ethernet1 = &rtl8189ftv;
+ mmc0 = &mmc0;
+ mmc1 = &mmc1;
+ mmc2 = &mmc2;
};
};
--
2.25.1

View File

@ -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

View File

@ -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 = <&reg_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

View File

@ -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

View File

@ -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 From a9bad790ae9a9e9befbe8e8938b6baca84ee5138 Mon Sep 17 00:00:00 2001
index 84cd9c061..917986cce 100644 From: Marek Belisko <marek.belisko@open-nandra.com>
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts Date: Tue, 24 Oct 2023 10:40:52 +0200
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts Subject: [PATCH] dts: orangepi-zero: Add wifi support
@@ -80,13 +80,15 @@
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 { reg_vdd_cpux: vdd-cpux-regulator {
@@ -106,10 +108,12 @@ @@ -105,10 +107,12 @@ reg_vdd_cpux: vdd-cpux-regulator {
1300000 1>; states = <1100000 0>, <1300000 1>;
}; };
- wifi_pwrseq: wifi_pwrseq { - wifi_pwrseq: wifi_pwrseq {
@ -38,7 +50,7 @@ index 84cd9c061..917986cce 100644
}; };
}; };
@@ -140,9 +144,11 @@ @@ -139,9 +143,11 @@ &mmc0 {
}; };
&mmc1 { &mmc1 {
@ -52,7 +64,7 @@ index 84cd9c061..917986cce 100644
non-removable; non-removable;
status = "okay"; status = "okay";
@@ -152,6 +158,13 @@ @@ -151,6 +157,13 @@ &mmc1 {
*/ */
xr819: sdio_wifi@1 { xr819: sdio_wifi@1 {
reg = <1>; reg = <1>;
@ -66,7 +78,7 @@ index 84cd9c061..917986cce 100644
}; };
}; };
@@ -208,3 +221,18 @@ @@ -207,3 +220,18 @@ &usbphy {
status = "okay"; status = "okay";
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
}; };
@ -85,3 +97,6 @@ index 84cd9c061..917986cce 100644
+ }; + };
+}; +};
+ +
--
2.25.1

View File

@ -1,8 +1,20 @@
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts From e0d786f5465d2e2d977696cf0d02c70b78402291 Mon Sep 17 00:00:00 2001
index cd3df12b65..33a161692f 100644 From: Marek Belisko <marek.belisko@open-nandra.com>
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts Date: Tue, 24 Oct 2023 10:42:36 +0200
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts Subject: [PATCH] dts:nanopi-neo-air: Add camera support
@@ -77,6 +77,39 @@
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"; compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
}; };
@ -42,7 +54,7 @@ index cd3df12b65..33a161692f 100644
}; };
&mmc0 { &mmc0 {
@@ -141,3 +174,55 @@ @@ -141,3 +174,55 @@ &usbphy {
/* USB VBUS is always on */ /* USB VBUS is always on */
status = "okay"; status = "okay";
}; };
@ -98,4 +110,6 @@ index cd3df12b65..33a161692f 100644
+&i2c2_pins { +&i2c2_pins {
+ bias-pull-up; + bias-pull-up;
+}; +};
--
2.25.1

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More