mirror of
https://github.com/agherzan/meta-raspberrypi.git
synced 2025-12-06 14:19:12 +00:00
Compare commits
449 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e5be97d75 | ||
|
|
89bdf97bea | ||
|
|
c71d79efc5 | ||
|
|
aa913d4580 | ||
|
|
da31d6f1ff | ||
|
|
a9be788e8f | ||
|
|
6c5e9d45f3 | ||
|
|
84d3561c74 | ||
|
|
4be82c166d | ||
|
|
72fe587b22 | ||
|
|
2b3693ea3a | ||
|
|
1bf03aef09 | ||
|
|
7b191e3dcf | ||
|
|
0a4d4dc17d | ||
|
|
0f832cb8a4 | ||
|
|
1822e9066e | ||
|
|
e70077a8d0 | ||
|
|
2e10111222 | ||
|
|
e89c1c7bfb | ||
|
|
77a5cc016a | ||
|
|
fb9599c5ec | ||
|
|
0a1d7c5f38 | ||
|
|
604905d5c8 | ||
|
|
22bc3422b4 | ||
|
|
d5d92f2cb7 | ||
|
|
a48743dc36 | ||
|
|
fa217ed21c | ||
|
|
48b2ab42de | ||
|
|
f752e92383 | ||
|
|
bfc35b773f | ||
|
|
10cee099bc | ||
|
|
7c94afee2b | ||
|
|
981376b1c4 | ||
|
|
b38a77938a | ||
|
|
e1ba4484c0 | ||
|
|
c8b6962487 | ||
|
|
1583815847 | ||
|
|
b589574d9e | ||
|
|
db02864e83 | ||
|
|
78259ad6e2 | ||
|
|
f661406e2d | ||
|
|
229363bbac | ||
|
|
0c14814f23 | ||
|
|
d05f559089 | ||
|
|
f7a2726cdf | ||
|
|
0f14d185d3 | ||
|
|
f61854f3c9 | ||
|
|
43bad59ab5 | ||
|
|
30200f75d6 | ||
|
|
16a8bb9da0 | ||
|
|
0b10f248d0 | ||
|
|
4f3a81e165 | ||
|
|
9da0723f4c | ||
|
|
c1aabba056 | ||
|
|
ab8a44d655 | ||
|
|
9bfbd7a26a | ||
|
|
19be0e76a2 | ||
|
|
d747f4cf47 | ||
|
|
165bdf8974 | ||
|
|
f98b279297 | ||
|
|
576ac27869 | ||
|
|
8218bec130 | ||
|
|
b660366a30 | ||
|
|
40a9a11794 | ||
|
|
2f7e6e9b0e | ||
|
|
2e23e17666 | ||
|
|
9a9931fe0c | ||
|
|
372c7bc16c | ||
|
|
39381720bd | ||
|
|
3623b89c53 | ||
|
|
effb6afeff | ||
|
|
7cd27ce83e | ||
|
|
c7999e8c2f | ||
|
|
6888a49ae8 | ||
|
|
0359c9714c | ||
|
|
0bea144135 | ||
|
|
9f523f5ecc | ||
|
|
a0beccee73 | ||
|
|
52255ae3af | ||
|
|
e8f9a4e8f8 | ||
|
|
efa848ca84 | ||
|
|
55aadae7aa | ||
|
|
4826d22580 | ||
|
|
c4400ca811 | ||
|
|
c9a4b5666f | ||
|
|
d5f7ff887d | ||
|
|
e713c3f60d | ||
|
|
3b6549a5e0 | ||
|
|
efa81bff3e | ||
|
|
19d0fcac21 | ||
|
|
b825f32ccd | ||
|
|
a477b29cc1 | ||
|
|
2b3526563e | ||
|
|
f8da9113fa | ||
|
|
71a040dc11 | ||
|
|
b2da4618b0 | ||
|
|
f51047bafb | ||
|
|
2ad9aa01e7 | ||
|
|
de597abc3b | ||
|
|
7f7bc9e778 | ||
|
|
1fb4dcc0b5 | ||
|
|
dd94917555 | ||
|
|
237e0c79c6 | ||
|
|
bf2a07be69 | ||
|
|
f3ecec38aa | ||
|
|
de8912cbcb | ||
|
|
5492c68403 | ||
|
|
53af636f88 | ||
|
|
2a0f25a71f | ||
|
|
6f8926e80e | ||
|
|
df53ac131a | ||
|
|
8aca17aa58 | ||
|
|
70d0c30824 | ||
|
|
d2015ceee0 | ||
|
|
a93a373c3e | ||
|
|
d3709fa688 | ||
|
|
07d06b04dd | ||
|
|
cf9971fa8b | ||
|
|
4d689a792c | ||
|
|
014408d1ac | ||
|
|
070c894321 | ||
|
|
693f36dded | ||
|
|
2c7eab2d0d | ||
|
|
d2ead7c039 | ||
|
|
66103edbb8 | ||
|
|
be2d9b1bf6 | ||
|
|
92aac38577 | ||
|
|
9b2cbacb07 | ||
|
|
e059aaffdf | ||
|
|
9e3a5ef513 | ||
|
|
2bea3356a9 | ||
|
|
51249c9c78 | ||
|
|
3175e7f3e2 | ||
|
|
5641ac3730 | ||
|
|
35234a0bfa | ||
|
|
4bf40b2d32 | ||
|
|
963761aac3 | ||
|
|
292e00099b | ||
|
|
519da94776 | ||
|
|
279b14730a | ||
|
|
3934ba7127 | ||
|
|
0059905a90 | ||
|
|
c717e7359a | ||
|
|
d5f252ef23 | ||
|
|
9209f20c7a | ||
|
|
e99afb0c89 | ||
|
|
857db4a496 | ||
|
|
a4c79714d6 | ||
|
|
63e53f9190 | ||
|
|
415c1998a6 | ||
|
|
f86f9f0013 | ||
|
|
790e100a90 | ||
|
|
4230fae1de | ||
|
|
712558c64e | ||
|
|
b588825238 | ||
|
|
79ea44b997 | ||
|
|
abd453d7da | ||
|
|
ad7693c9a0 | ||
|
|
0e1e2c6e0a | ||
|
|
207efc6fcf | ||
|
|
81a9e9d450 | ||
|
|
ad0443b3d2 | ||
|
|
37f6523aa1 | ||
|
|
8501a33253 | ||
|
|
69d9fa2a69 | ||
|
|
0deabddb14 | ||
|
|
0f145057c3 | ||
|
|
6d0830b26f | ||
|
|
72bc798ff5 | ||
|
|
a2ba56f74e | ||
|
|
ee668d8072 | ||
|
|
073f1e845e | ||
|
|
ea35d07b5b | ||
|
|
8643e28c3a | ||
|
|
dfa7f00bab | ||
|
|
1c9986257e | ||
|
|
6235b0a854 | ||
|
|
0202bc2881 | ||
|
|
f864b1068f | ||
|
|
15d2ea0f5a | ||
|
|
a50e19695f | ||
|
|
61c2a965a2 | ||
|
|
c47caaca32 | ||
|
|
ab5ef24ef8 | ||
|
|
58d86c0986 | ||
|
|
9c9c2bac61 | ||
|
|
f900a6568c | ||
|
|
24ffe9fb59 | ||
|
|
337a419c0e | ||
|
|
9bf918014b | ||
|
|
8124f87175 | ||
|
|
ea6dc59cd7 | ||
|
|
0c41915260 | ||
|
|
ef9c8cb092 | ||
|
|
14fd58b881 | ||
|
|
e0fe589092 | ||
|
|
9b1a796cb7 | ||
|
|
4d3a148b8e | ||
|
|
4c09f3e6db | ||
|
|
50fd319205 | ||
|
|
c07d7055e5 | ||
|
|
abe5e31a89 | ||
|
|
536c15bab9 | ||
|
|
76f5a7df71 | ||
|
|
6a7606a1e4 | ||
|
|
1ab83ec30a | ||
|
|
be340eec3f | ||
|
|
a1cfeb3324 | ||
|
|
fe99478aa9 | ||
|
|
9d84186870 | ||
|
|
f6fecae825 | ||
|
|
c716e0d30c | ||
|
|
70b9c3ec57 | ||
|
|
04b37dbdb7 | ||
|
|
e2432d3bb4 | ||
|
|
f1e2bf782f | ||
|
|
47da217fda | ||
|
|
c26e9d3df5 | ||
|
|
37e4e18f4a | ||
|
|
134e7dd943 | ||
|
|
e9bb7f0c6d | ||
|
|
43e0169ab7 | ||
|
|
129107837d | ||
|
|
49f1a94512 | ||
|
|
e7bac0bed5 | ||
|
|
46f78e37e3 | ||
|
|
cbd2412fb4 | ||
|
|
8311d16e59 | ||
|
|
b00d914e78 | ||
|
|
acd5869235 | ||
|
|
f2896b0e5c | ||
|
|
6c4de0b5fe | ||
|
|
bb51049ebe | ||
|
|
d31377b81a | ||
|
|
5a2b34e56c | ||
|
|
a120ece0e4 | ||
|
|
6abd752bd0 | ||
|
|
91f59ae288 | ||
|
|
aea2129fe3 | ||
|
|
50cbbb0151 | ||
|
|
b6b6ecb6cb | ||
|
|
fa82321af2 | ||
|
|
d2acb3ffda | ||
|
|
b934304e43 | ||
|
|
e59132bdcc | ||
|
|
7a7d871cc1 | ||
|
|
88478c3874 | ||
|
|
f70b24b1f1 | ||
|
|
2aa08e4f97 | ||
|
|
c098439ac1 | ||
|
|
94e2929f74 | ||
|
|
1a06502656 | ||
|
|
1b589998f4 | ||
|
|
ff02bf92e6 | ||
|
|
56d0bdb5fe | ||
|
|
ab4006bb2e | ||
|
|
f6a2ca21c7 | ||
|
|
1e1b50c55d | ||
|
|
4cff21e243 | ||
|
|
16a8384a9a | ||
|
|
04a33eadfb | ||
|
|
fc17cd7419 | ||
|
|
d9dbfe6536 | ||
|
|
ca77a583c3 | ||
|
|
a6bb80c935 | ||
|
|
11fec46133 | ||
|
|
df901c2915 | ||
|
|
081405feaa | ||
|
|
e147e12d94 | ||
|
|
a71483f9d9 | ||
|
|
371f85ce53 | ||
|
|
5eb159d32d | ||
|
|
caabd6a608 | ||
|
|
34113350f4 | ||
|
|
a30708d49c | ||
|
|
bf02bfd2ed | ||
|
|
654d84d68a | ||
|
|
03976f7ff1 | ||
|
|
4f2dd0f0e8 | ||
|
|
45ece9cd0a | ||
|
|
e5f33333ca | ||
|
|
3d43e174d2 | ||
|
|
c4e6ff4f9f | ||
|
|
39e1d49097 | ||
|
|
adf62cd9e8 | ||
|
|
e28e6e6422 | ||
|
|
4a2e37f96e | ||
|
|
6d5d83f1d6 | ||
|
|
a438f1d514 | ||
|
|
a001d9f316 | ||
|
|
9eaff5ce1a | ||
|
|
135a7ae55f | ||
|
|
63aa85268c | ||
|
|
d0abd927f5 | ||
|
|
abeddc3b0d | ||
|
|
d8da77b57e | ||
|
|
3cf2582cc9 | ||
|
|
d9e94b87a7 | ||
|
|
2aa6b1a637 | ||
|
|
8527a396d3 | ||
|
|
decdacf30c | ||
|
|
0d28786dac | ||
|
|
b05e5e32a4 | ||
|
|
e8682225ef | ||
|
|
7d064961c2 | ||
|
|
962ba44ec8 | ||
|
|
668446e283 | ||
|
|
8a450f0a8a | ||
|
|
af79504e44 | ||
|
|
0ef0667550 | ||
|
|
e11d38f8dc | ||
|
|
d70e311c43 | ||
|
|
7e941bb1ed | ||
|
|
1a42bce360 | ||
|
|
fe909cd5b9 | ||
|
|
1b05ca6bb4 | ||
|
|
78612dfcc5 | ||
|
|
723f04622f | ||
|
|
66e0e37ce3 | ||
|
|
aa454eea68 | ||
|
|
e3620fc038 | ||
|
|
58b2015564 | ||
|
|
2adfc6818e | ||
|
|
4b0bc450e0 | ||
|
|
d0c152d7f8 | ||
|
|
da32aac453 | ||
|
|
0948d17ded | ||
|
|
6c8ca9ccf1 | ||
|
|
e070005aa8 | ||
|
|
a84ba9b73c | ||
|
|
65b9376450 | ||
|
|
7a9c3e48b2 | ||
|
|
65723a9455 | ||
|
|
bfae6d8952 | ||
|
|
6561befc96 | ||
|
|
52bec45b67 | ||
|
|
c01466aabb | ||
|
|
6bafea4f37 | ||
|
|
ff914ff622 | ||
|
|
a23003794f | ||
|
|
8873478623 | ||
|
|
59d111195d | ||
|
|
12f8a354bf | ||
|
|
6ce6e57782 | ||
|
|
9aded8f9d4 | ||
|
|
c768a3d1ae | ||
|
|
9d418db5ed | ||
|
|
f81e9ac1bb | ||
|
|
11d376d2fe | ||
|
|
50f769f82c | ||
|
|
9eee2833c3 | ||
|
|
8990caf8b7 | ||
|
|
c9cf319f47 | ||
|
|
d01bf8751b | ||
|
|
39bd54a3f6 | ||
|
|
d9c6b7903e | ||
|
|
0be123e5b8 | ||
|
|
9ed927caae | ||
|
|
36a3895d4e | ||
|
|
67e0216492 | ||
|
|
acbbe4b252 | ||
|
|
68634deeed | ||
|
|
ae2be3aff9 | ||
|
|
8f1511d72d | ||
|
|
9d4b68dc77 | ||
|
|
f43dd79dcc | ||
|
|
3ea6f9f455 | ||
|
|
ec28a0d5b3 | ||
|
|
9288778503 | ||
|
|
7f99a4cb6d | ||
|
|
ac715f78f8 | ||
|
|
6dcdb7fba3 | ||
|
|
8716d7027c | ||
|
|
642d5c25b2 | ||
|
|
3ad29d11e7 | ||
|
|
e1f69daa80 | ||
|
|
02c0d41478 | ||
|
|
031e26954b | ||
|
|
c40558173f | ||
|
|
d77f3d46e3 | ||
|
|
672e025e2d | ||
|
|
1bf09a45a9 | ||
|
|
22fb2b4b25 | ||
|
|
90c45b48f6 | ||
|
|
96b9c633d7 | ||
|
|
17f0c23305 | ||
|
|
064aa0a388 | ||
|
|
0e66d6953c | ||
|
|
18cf04d167 | ||
|
|
1f64604570 | ||
|
|
44d41bf3e9 | ||
|
|
6bd1bfe472 | ||
|
|
b0308141c1 | ||
|
|
9c12ac8280 | ||
|
|
380740d866 | ||
|
|
a5f95f4233 | ||
|
|
716b6a9cd7 | ||
|
|
6c755af275 | ||
|
|
b9e6f04ce6 | ||
|
|
00300d9df8 | ||
|
|
3e6e890437 | ||
|
|
12aa27df80 | ||
|
|
ab39653ed0 | ||
|
|
17a6933adf | ||
|
|
ddc9390c2a | ||
|
|
d51a8a7373 | ||
|
|
e9911480e0 | ||
|
|
ed54bd3788 | ||
|
|
3360f98cad | ||
|
|
1d629b1925 | ||
|
|
56047ad7db | ||
|
|
1f24992a3c | ||
|
|
c62e088a65 | ||
|
|
1ebb370e81 | ||
|
|
8d17669588 | ||
|
|
3b9aebd6ae | ||
|
|
de016ceef6 | ||
|
|
b6c954de58 | ||
|
|
d778d0a23d | ||
|
|
1e3983fbfc | ||
|
|
ecd8875d6d | ||
|
|
05be947a31 | ||
|
|
585838e7a2 | ||
|
|
41689e8fe2 | ||
|
|
5697e77ec4 | ||
|
|
4817e2c087 | ||
|
|
ac6f357271 | ||
|
|
760ddd0f18 | ||
|
|
ed84c2c8a2 | ||
|
|
55388a5101 | ||
|
|
b24afdc2e7 | ||
|
|
e993bdc7cd | ||
|
|
c2f76439cc | ||
|
|
d511c7ceb6 | ||
|
|
ef22ff49e9 | ||
|
|
6b4de2bb90 | ||
|
|
bee7643b6c | ||
|
|
72b9635c66 | ||
|
|
ba9c4660d6 | ||
|
|
5d2722c33b | ||
|
|
824b78c4f0 | ||
|
|
dfce95fa3d | ||
|
|
224b9e9a39 | ||
|
|
0035bc8d80 | ||
|
|
6e535ddabb | ||
|
|
1a32817fb8 | ||
|
|
d98f2a74db | ||
|
|
09b76a43f6 | ||
|
|
18a2fb644b |
27
.github/ISSUE_TEMPLATE.md
vendored
Normal file
27
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<!--
|
||||||
|
If you are reporting a new issue, make sure that we do not have any duplicates
|
||||||
|
already open. You can ensure this by searching the issue list for this
|
||||||
|
repository. If there is a duplicate, please close your issue and add a comment
|
||||||
|
to the existing issue instead.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Briefly describe the problem you are having in a few paragraphs.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Steps to reproduce the issue:**
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
|
||||||
|
**Describe the results you received:**
|
||||||
|
|
||||||
|
|
||||||
|
**Describe the results you expected:**
|
||||||
|
|
||||||
|
|
||||||
|
**Additional information you deem important (e.g. issue happens only occasionally):**
|
||||||
|
|
||||||
|
**Additional details (revisions used, host distro, etc.):**
|
||||||
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<!--
|
||||||
|
Please make sure you've read and understood our contributing guidelines.
|
||||||
|
|
||||||
|
For additional information on the contribution guidelines:
|
||||||
|
https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information
|
||||||
|
|
||||||
|
If this PR fixes an issue, make sure your description includes "fixes #xxxx".
|
||||||
|
|
||||||
|
If this PR connects to an issue, make sure your description includes "connected to #xxxx".
|
||||||
|
|
||||||
|
Please provide the following information:
|
||||||
|
-->
|
||||||
|
|
||||||
|
**- What I did**
|
||||||
|
|
||||||
|
**- How I did it**
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,3 +3,5 @@ build*
|
|||||||
.*.swp
|
.*.swp
|
||||||
*.orig
|
*.orig
|
||||||
*.rej
|
*.rej
|
||||||
|
*.log
|
||||||
|
docs/_build
|
||||||
|
|||||||
349
README
349
README
@@ -1,349 +0,0 @@
|
|||||||
Quick links
|
|
||||||
===========
|
|
||||||
Git repository web frontend:
|
|
||||||
http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/
|
|
||||||
Mailing list (yocto mailing list):
|
|
||||||
yocto@yoctoproject.org
|
|
||||||
Issues management (redmine):
|
|
||||||
http://redmine.gherzan.ro/projects/meta-raspberrypi
|
|
||||||
|
|
||||||
|
|
||||||
Contents:
|
|
||||||
=========
|
|
||||||
1. Description
|
|
||||||
2. Yocto BSP Layer - Raspberry Pi
|
|
||||||
2.A. How to use it
|
|
||||||
2.B. Images
|
|
||||||
3. Optional build configuration
|
|
||||||
3.A. Compressed deployed files
|
|
||||||
3.B. GPU memory
|
|
||||||
3.C. Add purchased license codecs
|
|
||||||
3.D. Disable overscan
|
|
||||||
3.E. Set overclocking options
|
|
||||||
3.F. Video camera support with V4L2 drivers
|
|
||||||
3.G. Enable offline compositing support
|
|
||||||
3.H. Enable kgdb over console support
|
|
||||||
3.I. Boot to U-Boot
|
|
||||||
3.J. Image with Initramfs
|
|
||||||
3.K. Device tree support
|
|
||||||
3.L. Enable SPI bus
|
|
||||||
3.M. Enable I2C
|
|
||||||
3.N. Enable PiTFT support
|
|
||||||
3.O. Enable UART support
|
|
||||||
4. Extra apps
|
|
||||||
4.A. omxplayer
|
|
||||||
5. Board Configuration
|
|
||||||
5.A. Audio Routing
|
|
||||||
6. Source code and mirrors
|
|
||||||
7. Contribution
|
|
||||||
7.A. Mailing List
|
|
||||||
7.B. Redmine
|
|
||||||
8. Maintainers
|
|
||||||
|
|
||||||
|
|
||||||
1. Description
|
|
||||||
==============
|
|
||||||
|
|
||||||
This is the general hardware specific BSP overlay for the RaspberryPi device.
|
|
||||||
|
|
||||||
More information can be found at:
|
|
||||||
http://www.raspberrypi.org/ (Official Site)
|
|
||||||
|
|
||||||
The core BSP part of meta-raspberrypi should work with different
|
|
||||||
OpenEmbedded/Yocto distributions and layer stacks, such as:
|
|
||||||
* Distro-less (only with OE-Core).
|
|
||||||
* Angstrom.
|
|
||||||
* Yocto/Poky (main focus of testing).
|
|
||||||
|
|
||||||
2. Yocto BSP Layer - RaspberryPi
|
|
||||||
================================
|
|
||||||
|
|
||||||
This layer depends on:
|
|
||||||
|
|
||||||
URI: git://git.yoctoproject.org/poky
|
|
||||||
branch: master
|
|
||||||
revision: HEAD
|
|
||||||
|
|
||||||
URI: git://git.openembedded.org/meta-openembedded
|
|
||||||
layers: meta-oe, meta-multimedia
|
|
||||||
branch: master
|
|
||||||
revision: HEAD
|
|
||||||
|
|
||||||
2.A. How to use it
|
|
||||||
==================
|
|
||||||
a. source poky/oe-init-build-env rpi-build
|
|
||||||
b. Add needed layer to bblayers.conf:
|
|
||||||
- meta-raspberrypi
|
|
||||||
c. Set MACHINE in local.conf to one of the supported boards:
|
|
||||||
- raspberrypi
|
|
||||||
- raspberrypi0
|
|
||||||
- raspberrypi2
|
|
||||||
- raspberrypi3
|
|
||||||
d. bitbake rpi-hwup-image
|
|
||||||
e. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
|
|
||||||
f. Boot your RPI.
|
|
||||||
|
|
||||||
2.B. Images
|
|
||||||
-===========
|
|
||||||
* rpi-hwup-image
|
|
||||||
Hardware up image
|
|
||||||
* rpi-basic-image
|
|
||||||
Based on rpi-hwup-image with some added features (ex: splash)
|
|
||||||
* rpi-test-image
|
|
||||||
Image based on rpi-basic-image which includes most of the packages in this
|
|
||||||
layer and some media samples.
|
|
||||||
|
|
||||||
3. Optional build configuration
|
|
||||||
===============================
|
|
||||||
|
|
||||||
There are a set of ways in which a user can influence different paramenters of the build.
|
|
||||||
We list here the ones that are closely related to this BSP or specific to it. For the rest
|
|
||||||
please check: http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html
|
|
||||||
|
|
||||||
3.A. Compressed deployed files
|
|
||||||
==============================
|
|
||||||
1. Overwrite IMAGE_FSTYPES in local.conf
|
|
||||||
IMAGE_FSTYPES = "tar.bz2 ext3.xz"
|
|
||||||
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
|
|
||||||
SDIMG_ROOTFS_TYPE = "ext3.xz"
|
|
||||||
3. Overwrite SDIMG_COMPRESSION in local.conf
|
|
||||||
SDIMG_COMPRESSION = "xz"
|
|
||||||
*Accommodate the values above to your own needs (ex: ext3 / ext4).
|
|
||||||
|
|
||||||
3.B. GPU memory
|
|
||||||
===============
|
|
||||||
Variable : Details
|
|
||||||
GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and
|
|
||||||
GPU. ARM gets the remaining memory. Min 16. Default 64.
|
|
||||||
GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
|
|
||||||
512MB RP. Overrides gpu_mem. Max 192. Default not set.
|
|
||||||
GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
|
|
||||||
256MB RP. Overrides gpu_mem. Max 448. Default not set.
|
|
||||||
GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the
|
|
||||||
256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
|
|
||||||
|
|
||||||
3.C. Add purchased license codecs
|
|
||||||
=================================
|
|
||||||
To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in
|
|
||||||
local.conf. Example:
|
|
||||||
KEY_DECODE_MPG2 = "12345678"
|
|
||||||
KEY_DECODE_WVC1 = "12345678"
|
|
||||||
You can supply more licenses separated by comma. Example:
|
|
||||||
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
|
|
||||||
|
|
||||||
3.D. Disable overscan
|
|
||||||
=====================
|
|
||||||
By default the GPU adds a black border around the video output to compensate for
|
|
||||||
TVs which cut off part of the image. To disable this set this variable in
|
|
||||||
local.conf:
|
|
||||||
DISABLE_OVERSCAN = "1"
|
|
||||||
|
|
||||||
3.E. Set overclocking options
|
|
||||||
=============================
|
|
||||||
The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo
|
|
||||||
Mode" is officially supported by the raspbery and does not void warranty.
|
|
||||||
Check the config.txt for a detailed description of options and modes. Example:
|
|
||||||
# Turbo mode
|
|
||||||
ARM_FREQ = "1000"
|
|
||||||
CORE_FREQ = "500"
|
|
||||||
SDRAM_FREQ = "500"
|
|
||||||
OVER_VOLTAGE = "6"
|
|
||||||
|
|
||||||
3.F. Video camera support with V4L2 drivers
|
|
||||||
===========================================
|
|
||||||
Set this variable to enable support for the video camera (Linux 3.12.4+ required)
|
|
||||||
VIDEO_CAMERA = "1"
|
|
||||||
|
|
||||||
3.G. Enable offline compositing support
|
|
||||||
=======================================
|
|
||||||
Set this variable to enable support for dispmanx offline compositing
|
|
||||||
DISMANX_OFFLINE = "1"
|
|
||||||
|
|
||||||
This will enable the firmware to fall back to off-line compositing of
|
|
||||||
Dispmanx elements. Normally the compositing is done on-line, during scanout,
|
|
||||||
but cannot handle too many elements. With off-line enabled, an off-screen
|
|
||||||
buffer is allocated for compositing. When scene complexity (number and sizes
|
|
||||||
of elements) is high, compositing will happen off-line into the buffer.
|
|
||||||
|
|
||||||
Heavily recommended for Wayland/Weston.
|
|
||||||
|
|
||||||
See: http://wayland.freedesktop.org/raspberrypi.html
|
|
||||||
|
|
||||||
3.H. Enable kgdb over console support
|
|
||||||
=====================================
|
|
||||||
To add the kdbg over console (kgdboc) parameter to the kernel command line,
|
|
||||||
set this variable in local.conf:
|
|
||||||
ENABLE_KGDB = "1"
|
|
||||||
|
|
||||||
3.I. Boot to U-Boot
|
|
||||||
===================
|
|
||||||
To have u-boot load kernel image, set in your local.conf
|
|
||||||
KERNEL_IMAGETYPE = "uImage"
|
|
||||||
|
|
||||||
This will make kernel.img be u-boot image which will load uImage.
|
|
||||||
By default, kernel.img is the actual kernel image (ex. Image).
|
|
||||||
|
|
||||||
3.J. Image with Initramfs
|
|
||||||
=========================
|
|
||||||
To build an initramfs image :
|
|
||||||
* Set this 3 kernel variables (in linux-raspberrypi.inc for example)
|
|
||||||
- kernel_configure_variable BLK_DEV_INITRD y
|
|
||||||
- kernel_configure_variable INITRAMFS_SOURCE ""
|
|
||||||
- kernel_configure_variable RD_GZIP y
|
|
||||||
* Set the yocto variables (in linux-raspberrypi.inc for example)
|
|
||||||
- INITRAMFS_IMAGE = "<a name for your initramfs image>"
|
|
||||||
- INITRAMFS_IMAGE_BUNDLE = "1"
|
|
||||||
* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
|
|
||||||
- KERNEL_INITRAMFS = "-initramfs"
|
|
||||||
|
|
||||||
3.K. Device tree support
|
|
||||||
=========================
|
|
||||||
Device tree for RPi is only supported when using linux-raspberrypi 3.18+
|
|
||||||
kernels.
|
|
||||||
|
|
||||||
* Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf)
|
|
||||||
- the trailer is added to the kernel image before kernel install task.
|
|
||||||
While creating the SDCard image, this modified kernel is put on
|
|
||||||
boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
|
|
||||||
|
|
||||||
NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for
|
|
||||||
older kernel versions.
|
|
||||||
|
|
||||||
3.L. Enable SPI bus
|
|
||||||
====================
|
|
||||||
When using device tree kernels, set this variable to enable the SPI bus
|
|
||||||
ENABLE_SPI_BUS = "1"
|
|
||||||
|
|
||||||
3.M. Enable I2C
|
|
||||||
===============
|
|
||||||
When using device tree kernels, set this variable to enable I2C
|
|
||||||
ENABLE_I2C = "1"
|
|
||||||
|
|
||||||
3.N. Enable PiTFT support
|
|
||||||
=========================
|
|
||||||
Basic support for using PiTFT screens can be enabled by adding
|
|
||||||
below in local.conf:
|
|
||||||
|
|
||||||
MACHINE_FEATURES += "pitft"
|
|
||||||
- This will enable SPI bus and i2c device-trees, it will also setup
|
|
||||||
framebuffer for console and x server on PiTFT.
|
|
||||||
|
|
||||||
NOTE: To get this working the overlay for the PiTFT model must be build,
|
|
||||||
added and specified as well (dtoverlay=<driver> in config.txt)
|
|
||||||
|
|
||||||
Below is a list of currently supported PiTFT models in meta-raspberrypi,
|
|
||||||
the modelname should be added as a MACHINE_FEATURES in local.conf like below:
|
|
||||||
- MACHINE_FEATURES += "pitft <modelname>"
|
|
||||||
|
|
||||||
List of currently supported models:
|
|
||||||
- pitft22
|
|
||||||
- pitft28r
|
|
||||||
|
|
||||||
3.O. Enable UART
|
|
||||||
===============
|
|
||||||
|
|
||||||
RaspberryPi 1, 2 and CM will have UART console enabled by default.
|
|
||||||
|
|
||||||
RaspberryPi 3 does not have the UART enabled by default because this needs a
|
|
||||||
fixed core frequency and enable_uart wil set it to the minimum. Certain
|
|
||||||
operations - 60fps h264 decode, high quality deinterlace - which aren't
|
|
||||||
performed on the ARM may be affected, and we wouldn't want to do that to users
|
|
||||||
who don't want to use the serial port. Users who want serial console support on
|
|
||||||
RaspberryPi3 will have to explicitely set in local.conf: ENABLE_UART = "1".
|
|
||||||
|
|
||||||
Ref.: https://github.com/raspberrypi/firmware/issues/553
|
|
||||||
https://github.com/RPi-Distro/repo/issues/22
|
|
||||||
|
|
||||||
4. Extra apps
|
|
||||||
=============
|
|
||||||
|
|
||||||
4.A. omxplayer
|
|
||||||
==============
|
|
||||||
omxplayer depends on libav which has a commercial license. So in order to be
|
|
||||||
able to compile omxplayer you will need to whiteflag the commercial license
|
|
||||||
adding to you local.conf:
|
|
||||||
LICENSE_FLAGS_WHITELIST = "commercial"
|
|
||||||
|
|
||||||
5. Board Configuration
|
|
||||||
======================
|
|
||||||
|
|
||||||
5.A. Audio Routing
|
|
||||||
==================
|
|
||||||
To load audio driver
|
|
||||||
|
|
||||||
modprobe snd-bcm2835
|
|
||||||
|
|
||||||
To test audio playback
|
|
||||||
|
|
||||||
e.g. aplay test.wav
|
|
||||||
|
|
||||||
Note that without HDMI connected this emits audio from the 3.5in jack connector
|
|
||||||
as expected. However With an HDMI display connected there is no audio output from
|
|
||||||
the jack connector.
|
|
||||||
|
|
||||||
To force the audio routing via the 3.5in jack connector use
|
|
||||||
|
|
||||||
amixer cset numid=3 1
|
|
||||||
|
|
||||||
Options to amixer cset are:
|
|
||||||
|
|
||||||
0=auto
|
|
||||||
1=headphones
|
|
||||||
2=hdmi
|
|
||||||
|
|
||||||
6. Source code and mirrors
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Main repo:
|
|
||||||
git://git.yoctoproject.org/meta-raspberrypi
|
|
||||||
http://git.yoctoproject.org/git/meta-raspberrypi
|
|
||||||
|
|
||||||
Github mirror:
|
|
||||||
https://github.com/agherzan/meta-raspberrypi
|
|
||||||
|
|
||||||
Bitbucket mirror:
|
|
||||||
https://bitbucket.org/agherzan/meta-raspberrypi
|
|
||||||
|
|
||||||
|
|
||||||
7. Contributing
|
|
||||||
===============
|
|
||||||
|
|
||||||
7.A. Mailing list
|
|
||||||
=================
|
|
||||||
The main communication tool we use is a mailing list:
|
|
||||||
yocto@yoctoproject.org
|
|
||||||
https://lists.yoctoproject.org/listinfo/yocto
|
|
||||||
|
|
||||||
Feel free to ask any kind of questions but always prepend your email subject
|
|
||||||
with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
|
|
||||||
not a perticular 'meta-raspberrypi' mailing list.
|
|
||||||
|
|
||||||
To contribute to this layer you should send the patches for review to the
|
|
||||||
above specified mailing list.
|
|
||||||
The patches should be compliant with the openembedded patch guidelines:
|
|
||||||
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
|
|
||||||
|
|
||||||
|
|
||||||
When creating patches, please use something like:
|
|
||||||
|
|
||||||
git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
|
|
||||||
|
|
||||||
When sending patches to mailing list, please use something like:
|
|
||||||
|
|
||||||
git send-email --to yocto@yoctoproject.org <generated patch>
|
|
||||||
|
|
||||||
7.B. Github issues
|
|
||||||
==================
|
|
||||||
In order to manage and trace the meta-raspberrypi issues, we use github issues:
|
|
||||||
https://github.com/agherzan/meta-raspberrypi/issues
|
|
||||||
|
|
||||||
If you push patches which have a github issue associated, please provide the
|
|
||||||
issue number in the commit log just before "Signed-off-by" line(s). Example line
|
|
||||||
for a bug:
|
|
||||||
[Issue #13]
|
|
||||||
|
|
||||||
|
|
||||||
8. Maintainers
|
|
||||||
==============
|
|
||||||
|
|
||||||
Andrei Gherzan <andrei at gherzan.ro>
|
|
||||||
56
README.md
Normal file
56
README.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# meta-raspberrypi
|
||||||
|
|
||||||
|
Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
|
||||||
|
|
||||||
|
[](https://yocto-ci.resin.io/job/meta-raspberrypi1)
|
||||||
|
[](https://yocto-ci.resin.io/job/meta-raspberrypi2)
|
||||||
|
[](https://yocto-ci.resin.io/job/meta-raspberrypi3)
|
||||||
|
[](https://gitter.im/agherzan/meta-raspberrypi)
|
||||||
|
|
||||||
|
## Quick links
|
||||||
|
|
||||||
|
* Git repository web frontend:
|
||||||
|
<https://github.com/agherzan/meta-raspberrypi>
|
||||||
|
* Mailing list (yocto mailing list): <yocto@yoctoproject.org>
|
||||||
|
* Issues management (Github Issues):
|
||||||
|
<https://github.com/agherzan/meta-raspberrypi/issues>
|
||||||
|
* Documentation: <http://meta-raspberrypi.readthedocs.io/en/latest/>
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This is the general hardware specific BSP overlay for the RaspberryPi device.
|
||||||
|
|
||||||
|
More information can be found at: <http://www.raspberrypi.org/> (Official Site)
|
||||||
|
|
||||||
|
The core BSP part of meta-raspberrypi should work with different
|
||||||
|
OpenEmbedded/Yocto distributions and layer stacks, such as:
|
||||||
|
|
||||||
|
* Distro-less (only with OE-Core).
|
||||||
|
* Angstrom.
|
||||||
|
* Yocto/Poky (main focus of testing).
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
This layer depends on:
|
||||||
|
|
||||||
|
* URI: git://git.yoctoproject.org/poky
|
||||||
|
* branch: master
|
||||||
|
* revision: HEAD
|
||||||
|
|
||||||
|
* URI: git://git.openembedded.org/meta-openembedded
|
||||||
|
* layers: meta-oe, meta-multimedia, meta-networking, meta-python
|
||||||
|
* branch: master
|
||||||
|
* revision: HEAD
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
1. source poky/oe-init-build-env rpi-build
|
||||||
|
2. Add this layer to bblayers.conf and the dependencies above
|
||||||
|
3. Set MACHINE in local.conf to one of the supported boards
|
||||||
|
4. bitbake core-image-base
|
||||||
|
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
|
||||||
|
6. Boot your RPI.
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
* Andrei Gherzan `<andrei at gherzan.ro>`
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
inherit linux-kernel-base
|
|
||||||
|
|
||||||
|
|
||||||
def get_dts(d, ver):
|
|
||||||
staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True)
|
|
||||||
dts = d.getVar("KERNEL_DEVICETREE", True)
|
|
||||||
|
|
||||||
# d.getVar() might return 'None' as a normal string
|
|
||||||
# leading to 'is None' check isn't enough.
|
|
||||||
# TODO: Investigate if this is a bug in bitbake
|
|
||||||
if ver is None or ver == "None":
|
|
||||||
''' if 'ver' isn't set try to grab the kernel version
|
|
||||||
from the kernel staging '''
|
|
||||||
ver = get_kernelversion_file(staging_dir)
|
|
||||||
|
|
||||||
if ver is not None:
|
|
||||||
min_ver = ver.split('.', 3)
|
|
||||||
else:
|
|
||||||
return dts
|
|
||||||
|
|
||||||
# Always turn off device tree support for kernel's < 3.18
|
|
||||||
try:
|
|
||||||
if int(min_ver[0]) <= 3:
|
|
||||||
if int(min_ver[1]) < 18:
|
|
||||||
dts = ""
|
|
||||||
except IndexError:
|
|
||||||
min_ver = None
|
|
||||||
|
|
||||||
return dts
|
|
||||||
|
|
||||||
|
|
||||||
def split_overlays(d, out):
|
|
||||||
dts = get_dts(d, None)
|
|
||||||
if out:
|
|
||||||
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
|
|
||||||
else:
|
|
||||||
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d)
|
|
||||||
|
|
||||||
return overlays
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
inherit image_types
|
inherit image_types
|
||||||
inherit linux-raspberrypi-base
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create an image that can by written onto a SD card using dd.
|
# Create an image that can be written onto a SD card using dd.
|
||||||
#
|
#
|
||||||
# The disk layout used is:
|
# The disk layout used is:
|
||||||
#
|
#
|
||||||
@@ -29,12 +28,10 @@ IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
|
|||||||
# Set kernel and boot loader
|
# Set kernel and boot loader
|
||||||
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
|
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
|
||||||
|
|
||||||
# Set initramfs extension
|
|
||||||
KERNEL_INITRAMFS ?= ""
|
|
||||||
|
|
||||||
# Kernel image name
|
# Kernel image name
|
||||||
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
|
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
|
||||||
SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
|
SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
|
||||||
|
SDIMG_KERNELIMAGE_raspberrypi3-64 ?= "kernel8.img"
|
||||||
|
|
||||||
# Boot partition volume id
|
# Boot partition volume id
|
||||||
BOOTDD_VOLUME_ID ?= "${MACHINE}"
|
BOOTDD_VOLUME_ID ?= "${MACHINE}"
|
||||||
@@ -47,19 +44,25 @@ IMAGE_ROOTFS_ALIGNMENT = "4096"
|
|||||||
|
|
||||||
# Use an uncompressed ext3 by default as rootfs
|
# Use an uncompressed ext3 by default as rootfs
|
||||||
SDIMG_ROOTFS_TYPE ?= "ext3"
|
SDIMG_ROOTFS_TYPE ?= "ext3"
|
||||||
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
|
||||||
|
|
||||||
IMAGE_DEPENDS_rpi-sdimg = " \
|
# For the names of kernel artifacts
|
||||||
parted-native \
|
inherit kernel-artifact-names
|
||||||
mtools-native \
|
|
||||||
dosfstools-native \
|
do_image_rpi_sdimg[depends] = " \
|
||||||
|
parted-native:do_populate_sysroot \
|
||||||
|
mtools-native:do_populate_sysroot \
|
||||||
|
dosfstools-native:do_populate_sysroot \
|
||||||
virtual/kernel:do_deploy \
|
virtual/kernel:do_deploy \
|
||||||
${IMAGE_BOOTLOADER} \
|
${IMAGE_BOOTLOADER}:do_deploy \
|
||||||
${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot', '',d)} \
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
|
||||||
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
do_image_rpi_sdimg[recrdeps] = "do_build"
|
||||||
|
|
||||||
# SD card image name
|
# SD card image name
|
||||||
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg"
|
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
|
||||||
|
|
||||||
# Compression method to apply to SDIMG after it has been created. Supported
|
# Compression method to apply to SDIMG after it has been created. Supported
|
||||||
# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
|
# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
|
||||||
@@ -71,6 +74,23 @@ SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg"
|
|||||||
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
|
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
|
||||||
FATPAYLOAD ?= ""
|
FATPAYLOAD ?= ""
|
||||||
|
|
||||||
|
# SD card vfat partition image name
|
||||||
|
SDIMG_VFAT_DEPLOY ?= "${RPI_USE_U_BOOT}"
|
||||||
|
SDIMG_VFAT = "${IMAGE_NAME}.vfat"
|
||||||
|
SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat"
|
||||||
|
|
||||||
|
def split_overlays(d, out, ver=None):
|
||||||
|
dts = d.getVar("KERNEL_DEVICETREE")
|
||||||
|
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
|
||||||
|
if out:
|
||||||
|
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
|
||||||
|
overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
|
||||||
|
else:
|
||||||
|
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) + \
|
||||||
|
" " + oe.utils.str_filter('\S+\.dtbo$', dts, d)
|
||||||
|
|
||||||
|
return overlays
|
||||||
|
|
||||||
IMAGE_CMD_rpi-sdimg () {
|
IMAGE_CMD_rpi-sdimg () {
|
||||||
|
|
||||||
# Align partitions
|
# Align partitions
|
||||||
@@ -81,7 +101,7 @@ IMAGE_CMD_rpi-sdimg () {
|
|||||||
echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
|
echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
|
||||||
|
|
||||||
# Check if we are building with device tree support
|
# Check if we are building with device tree support
|
||||||
DTS="${@get_dts(d, None)}"
|
DTS="${KERNEL_DEVICETREE}"
|
||||||
|
|
||||||
# Initialize sdcard image file
|
# Initialize sdcard image file
|
||||||
dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
|
dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
|
||||||
@@ -98,37 +118,37 @@ IMAGE_CMD_rpi-sdimg () {
|
|||||||
# Create a vfat image with boot files
|
# 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 }')
|
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
|
rm -f ${WORKDIR}/boot.img
|
||||||
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
|
mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
|
||||||
if test -n "${DTS}"; then
|
if test -n "${DTS}"; then
|
||||||
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder
|
|
||||||
DT_OVERLAYS="${@split_overlays(d, 0)}"
|
|
||||||
DT_ROOT="${@split_overlays(d, 1)}"
|
|
||||||
|
|
||||||
# Copy board device trees to root folder
|
# Copy board device trees to root folder
|
||||||
for DTB in ${DT_ROOT}; do
|
for dtbf in ${@split_overlays(d, True)}; do
|
||||||
DTB_BASE_NAME=`basename ${DTB} .dtb`
|
dtb=`basename $dtbf`
|
||||||
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Copy device tree overlays to dedicated folder
|
# Copy device tree overlays to dedicated folder
|
||||||
mmd -i ${WORKDIR}/boot.img overlays
|
mmd -i ${WORKDIR}/boot.img overlays
|
||||||
for DTB in ${DT_OVERLAYS}; do
|
for dtbf in ${@split_overlays(d, False)}; do
|
||||||
DTB_BASE_NAME=`basename ${DTB} .dtb`
|
dtb=`basename $dtbf`
|
||||||
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::overlays/${DTB_BASE_NAME}.dtb
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
case "${KERNEL_IMAGETYPE}" in
|
if [ "${RPI_USE_U_BOOT}" = "1" ]; then
|
||||||
"uImage")
|
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
|
||||||
;;
|
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
|
||||||
*)
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE}
|
||||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE}
|
else
|
||||||
;;
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE}
|
||||||
esac
|
fi
|
||||||
|
else
|
||||||
|
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
|
||||||
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE}
|
||||||
|
else
|
||||||
|
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n ${FATPAYLOAD} ] ; then
|
if [ -n ${FATPAYLOAD} ] ; then
|
||||||
echo "Copying payload into VFAT"
|
echo "Copying payload into VFAT"
|
||||||
@@ -142,14 +162,20 @@ IMAGE_CMD_rpi-sdimg () {
|
|||||||
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
|
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
|
||||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
|
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
|
||||||
|
|
||||||
|
# Deploy vfat partition
|
||||||
|
if [ "${SDIMG_VFAT_DEPLOY}" = "1" ]; then
|
||||||
|
cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT}
|
||||||
|
ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT}
|
||||||
|
fi
|
||||||
|
|
||||||
# Burn Partitions
|
# Burn Partitions
|
||||||
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
|
||||||
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
|
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
|
||||||
if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
|
if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
|
||||||
then
|
then
|
||||||
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
|
||||||
else
|
else
|
||||||
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Optionally apply compression
|
# Optionally apply compression
|
||||||
|
|||||||
@@ -9,6 +9,24 @@ BBFILE_COLLECTIONS += "raspberrypi"
|
|||||||
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
|
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
|
||||||
BBFILE_PRIORITY_raspberrypi = "9"
|
BBFILE_PRIORITY_raspberrypi = "9"
|
||||||
|
|
||||||
|
LAYERSERIES_COMPAT_raspberrypi = "sumo thud"
|
||||||
|
|
||||||
# Additional license directories.
|
# Additional license directories.
|
||||||
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
|
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
|
||||||
|
|
||||||
|
# The dynamic-layers directory hosts the extensions and layer specific
|
||||||
|
# modifications.
|
||||||
|
#
|
||||||
|
# The .bbappend and .bb files are included if the respective layer
|
||||||
|
# collection is available.
|
||||||
|
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
|
||||||
|
for layer in BBFILE_COLLECTIONS.split())}"
|
||||||
|
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
|
||||||
|
for layer in BBFILE_COLLECTIONS.split())}"
|
||||||
|
|
||||||
|
BBFILES_DYNAMIC += " \
|
||||||
|
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
|
||||||
|
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
|
||||||
|
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
|
||||||
|
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
|
||||||
|
"
|
||||||
|
|||||||
@@ -6,48 +6,114 @@ SOC_FAMILY = "rpi"
|
|||||||
include conf/machine/include/soc-family.inc
|
include conf/machine/include/soc-family.inc
|
||||||
|
|
||||||
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
|
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
|
||||||
|
WKS_FILE ?= "sdimage-raspberrypi.wks"
|
||||||
|
|
||||||
XSERVER = " \
|
XSERVER = " \
|
||||||
xserver-xorg \
|
xserver-xorg \
|
||||||
xf86-input-evdev \
|
${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xserver-xorg-extension-glx", "", d)} \
|
||||||
xf86-input-mouse \
|
${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \
|
||||||
xf86-input-keyboard \
|
|
||||||
xf86-video-fbdev \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
# Really supported starting from linux-raspberrypi 3.18.y only
|
RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
||||||
KERNEL_DEVICETREE ?= " \
|
overlays/at86rf233.dtbo \
|
||||||
|
overlays/dwc2.dtbo \
|
||||||
|
overlays/gpio-key.dtbo \
|
||||||
|
overlays/hifiberry-amp.dtbo \
|
||||||
|
overlays/hifiberry-dac.dtbo \
|
||||||
|
overlays/hifiberry-dacplus.dtbo \
|
||||||
|
overlays/hifiberry-digi.dtbo \
|
||||||
|
overlays/i2c-rtc.dtbo \
|
||||||
|
overlays/iqaudio-dac.dtbo \
|
||||||
|
overlays/iqaudio-dacplus.dtbo \
|
||||||
|
overlays/lirc-rpi.dtbo \
|
||||||
|
overlays/pi3-disable-bt.dtbo \
|
||||||
|
overlays/pi3-miniuart-bt.dtbo \
|
||||||
|
overlays/pitft22.dtbo \
|
||||||
|
overlays/pitft28-resistive.dtbo \
|
||||||
|
overlays/pitft35-resistive.dtbo \
|
||||||
|
overlays/pps-gpio.dtbo \
|
||||||
|
overlays/rpi-ft5406.dtbo \
|
||||||
|
overlays/rpi-poe.dtbo \
|
||||||
|
overlays/vc4-kms-v3d.dtbo \
|
||||||
|
overlays/w1-gpio-pullup.dtbo \
|
||||||
|
overlays/w1-gpio.dtbo \
|
||||||
|
"
|
||||||
|
|
||||||
|
RPI_KERNEL_DEVICETREE ?= " \
|
||||||
|
bcm2708-rpi-0-w.dtb \
|
||||||
bcm2708-rpi-b.dtb \
|
bcm2708-rpi-b.dtb \
|
||||||
bcm2708-rpi-b-plus.dtb \
|
bcm2708-rpi-b-plus.dtb \
|
||||||
bcm2709-rpi-2-b.dtb \
|
bcm2709-rpi-2-b.dtb \
|
||||||
bcm2710-rpi-3-b.dtb \
|
bcm2710-rpi-3-b.dtb \
|
||||||
\
|
bcm2710-rpi-3-b-plus.dtb \
|
||||||
overlays/hifiberry-amp-overlay.dtb \
|
bcm2708-rpi-cm.dtb \
|
||||||
overlays/hifiberry-dac-overlay.dtb \
|
bcm2710-rpi-cm3.dtb \
|
||||||
overlays/hifiberry-dacplus-overlay.dtb \
|
|
||||||
overlays/hifiberry-digi-overlay.dtb \
|
|
||||||
overlays/i2c-rtc-overlay.dtb \
|
|
||||||
overlays/iqaudio-dac-overlay.dtb \
|
|
||||||
overlays/iqaudio-dacplus-overlay.dtb \
|
|
||||||
overlays/lirc-rpi-overlay.dtb \
|
|
||||||
overlays/pitft22-overlay.dtb \
|
|
||||||
overlays/pitft28-resistive-overlay.dtb \
|
|
||||||
overlays/pps-gpio-overlay.dtb \
|
|
||||||
overlays/rpi-ft5406-overlay.dtb \
|
|
||||||
overlays/w1-gpio-overlay.dtb \
|
|
||||||
overlays/w1-gpio-pullup-overlay.dtb \
|
|
||||||
overlays/pi3-miniuart-bt-overlay.dtb \
|
|
||||||
"
|
"
|
||||||
KERNEL_IMAGETYPE ?= "Image"
|
|
||||||
|
KERNEL_DEVICETREE ?= " \
|
||||||
|
${RPI_KERNEL_DEVICETREE} \
|
||||||
|
${RPI_KERNEL_DEVICETREE_OVERLAYS} \
|
||||||
|
"
|
||||||
|
|
||||||
|
# By default:
|
||||||
|
#
|
||||||
|
# * When u-boot is disabled use the "Image" format which can be directly loaded
|
||||||
|
# by the rpi firmware.
|
||||||
|
#
|
||||||
|
# * When u-boot is enabled use the "uImage" format and the "bootm" command
|
||||||
|
# within u-boot to load the kernel.
|
||||||
|
KERNEL_BOOTCMD ??= "bootm"
|
||||||
|
KERNEL_IMAGETYPE_UBOOT ??= "uImage"
|
||||||
|
KERNEL_IMAGETYPE_DIRECT ??= "zImage"
|
||||||
|
KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
|
||||||
|
'${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
|
||||||
|
|
||||||
MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
|
MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
|
||||||
|
|
||||||
# Raspberry Pi has no hardware clock
|
# Raspberry Pi has no hardware clock
|
||||||
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
|
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
|
||||||
|
|
||||||
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
|
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
|
||||||
|
|
||||||
# Set Raspberrypi splash image
|
# Set Raspberrypi splash image
|
||||||
SPLASH = "psplash-raspberrypi"
|
SPLASH = "psplash-raspberrypi"
|
||||||
|
|
||||||
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}"
|
def make_dtb_boot_files(d):
|
||||||
|
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
|
||||||
|
# KERNEL_DEVICETREE.
|
||||||
|
alldtbs = d.getVar('KERNEL_DEVICETREE')
|
||||||
|
imgtyp = d.getVar('KERNEL_IMAGETYPE')
|
||||||
|
|
||||||
|
def transform(dtb):
|
||||||
|
base = os.path.basename(dtb)
|
||||||
|
if dtb.endswith('dtb'):
|
||||||
|
# eg: whatever/bcm2708-rpi-b.dtb has:
|
||||||
|
# DEPLOYDIR file: bcm2708-rpi-b.dtb
|
||||||
|
# destination: bcm2708-rpi-b.dtb
|
||||||
|
return base
|
||||||
|
elif dtb.endswith('dtbo'):
|
||||||
|
# overlay dtb:
|
||||||
|
# eg: overlays/hifiberry-amp.dtbo has:
|
||||||
|
# DEPLOYDIR file: hifiberry-amp.dtbo
|
||||||
|
# destination: overlays/hifiberry-amp.dtbo
|
||||||
|
return '{};{}'.format(base, dtb)
|
||||||
|
|
||||||
|
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
|
||||||
|
|
||||||
|
|
||||||
|
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
|
||||||
|
${@make_dtb_boot_files(d)} \
|
||||||
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
|
||||||
|
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
|
||||||
|
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
|
||||||
|
"
|
||||||
|
do_image_wic[depends] += " \
|
||||||
|
bcm2835-bootfiles:do_deploy \
|
||||||
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_image_wic[recrdeps] = "do_build"
|
||||||
|
|
||||||
|
# The kernel image is installed into the FAT32 boot partition and does not need
|
||||||
|
# to also be installed into the rootfs.
|
||||||
|
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
|
||||||
|
|||||||
@@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
|
||||||
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
|
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
|
||||||
PREFERRED_PROVIDER_virtual/egl ?= "userland"
|
PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
|
||||||
PREFERRED_PROVIDER_virtual/libgles2 ?= "userland"
|
PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
|
||||||
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
|
PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||||
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
|
PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||||
|
PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||||
PREFERRED_PROVIDER_jpeg ?= "jpeg"
|
PREFERRED_PROVIDER_jpeg ?= "jpeg"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# RaspberryPi BSP default versions
|
# RaspberryPi BSP default versions
|
||||||
|
|
||||||
PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%"
|
PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
|
||||||
|
|||||||
6
conf/machine/raspberrypi-cm.conf
Normal file
6
conf/machine/raspberrypi-cm.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi Compute Module (CM1)
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
|
||||||
|
|
||||||
|
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
||||||
|
include conf/machine/raspberrypi.conf
|
||||||
12
conf/machine/raspberrypi-cm3.conf
Normal file
12
conf/machine/raspberrypi-cm3.conf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi Compute Module 3 (CM3)
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
|
||||||
|
|
||||||
|
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
|
||||||
|
require conf/machine/include/tune-cortexa7.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
KBUILD_DEFCONFIG ?= "bcm2709_defconfig"
|
||||||
|
SDIMG_KERNELIMAGE ?= "kernel7.img"
|
||||||
|
UBOOT_MACHINE = "rpi_3_32b_config"
|
||||||
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
@@ -7,6 +7,6 @@ DEFAULTTUNE ?= "arm1176jzfshf"
|
|||||||
require conf/machine/include/tune-arm1176jzf-s.inc
|
require conf/machine/include/tune-arm1176jzf-s.inc
|
||||||
include conf/machine/include/rpi-base.inc
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
SERIAL_CONSOLE = "115200 ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|
||||||
UBOOT_MACHINE = "rpi_config"
|
UBOOT_MACHINE = "rpi_config"
|
||||||
|
|||||||
16
conf/machine/raspberrypi0-wifi.conf
Normal file
16
conf/machine/raspberrypi0-wifi.conf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi Zero WiFi Development Board
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero WiFi board (https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/)
|
||||||
|
|
||||||
|
DEFAULTTUNE ?= "arm1176jzfshf"
|
||||||
|
require conf/machine/include/tune-arm1176jzf-s.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
|
bluez-firmware-rpidistro-bcm43430a1-hcd \
|
||||||
|
"
|
||||||
|
|
||||||
|
SDIMG_KERNELIMAGE ?= "kernel.img"
|
||||||
|
UBOOT_MACHINE ?= "rpi_0_w_defconfig"
|
||||||
|
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||||
@@ -5,4 +5,4 @@
|
|||||||
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
||||||
include conf/machine/raspberrypi.conf
|
include conf/machine/raspberrypi.conf
|
||||||
|
|
||||||
SERIAL_CONSOLE = "115200 ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
|
|||||||
require conf/machine/include/tune-cortexa7.inc
|
require conf/machine/include/tune-cortexa7.inc
|
||||||
include conf/machine/include/rpi-base.inc
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
SERIAL_CONSOLE = "115200 ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|
||||||
UBOOT_MACHINE = "rpi_2_config"
|
UBOOT_MACHINE = "rpi_2_config"
|
||||||
|
|||||||
33
conf/machine/raspberrypi3-64.conf
Normal file
33
conf/machine/raspberrypi3-64.conf
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi 3 Development Board
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
|
||||||
|
|
||||||
|
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
|
||||||
|
|
||||||
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
|
linux-firmware-rpidistro-bcm43455 \
|
||||||
|
bluez-firmware-rpidistro-bcm43430a1-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c0-hcd \
|
||||||
|
"
|
||||||
|
|
||||||
|
require conf/machine/include/arm/arch-armv8.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
RPI_KERNEL_DEVICETREE = " \
|
||||||
|
broadcom/bcm2710-rpi-3-b.dtb \
|
||||||
|
broadcom/bcm2710-rpi-3-b-plus.dtb \
|
||||||
|
broadcom/bcm2837-rpi-3-b.dtb \
|
||||||
|
"
|
||||||
|
|
||||||
|
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||||
|
|
||||||
|
UBOOT_MACHINE = "rpi_3_config"
|
||||||
|
MACHINE_FEATURES_append = " vc4graphics"
|
||||||
|
|
||||||
|
# When u-boot is enabled we need to use the "Image" format and the "booti"
|
||||||
|
# command to load the kernel
|
||||||
|
KERNEL_IMAGETYPE_UBOOT ?= "Image"
|
||||||
|
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
|
||||||
|
KERNEL_IMAGETYPE_DIRECT ?= "Image"
|
||||||
|
KERNEL_BOOTCMD ?= "booti"
|
||||||
@@ -2,10 +2,17 @@
|
|||||||
#@NAME: RaspberryPi 3 Development Board
|
#@NAME: RaspberryPi 3 Development Board
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 3
|
#@DESCRIPTION: Machine configuration for the RaspberryPi 3
|
||||||
|
|
||||||
MACHINEOVERRIDES = "raspberrypi2:${MACHINE}"
|
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
|
||||||
|
require conf/machine/include/tune-cortexa7.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-brcm43430"
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
|
linux-firmware-rpidistro-bcm43455 \
|
||||||
|
bluez-firmware-rpidistro-bcm43430a1-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c0-hcd \
|
||||||
|
"
|
||||||
|
|
||||||
include conf/machine/raspberrypi2.conf
|
SDIMG_KERNELIMAGE ?= "kernel7.img"
|
||||||
|
UBOOT_MACHINE = "rpi_3_32b_config"
|
||||||
SERIAL_CONSOLE = "115200 ttyS0"
|
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||||
|
|||||||
225
docs/Makefile
Normal file
225
docs/Makefile
Normal file
@@ -0,0 +1,225 @@
|
|||||||
|
# Makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
PAPER =
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Internal variables.
|
||||||
|
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||||
|
PAPEROPT_letter = -D latex_paper_size=letter
|
||||||
|
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||||
|
# the i18n builder cannot share the environment and doctrees with the others
|
||||||
|
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
@echo "Please use \`make <target>' where <target> is one of"
|
||||||
|
@echo " html to make standalone HTML files"
|
||||||
|
@echo " dirhtml to make HTML files named index.html in directories"
|
||||||
|
@echo " singlehtml to make a single large HTML file"
|
||||||
|
@echo " pickle to make pickle files"
|
||||||
|
@echo " json to make JSON files"
|
||||||
|
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||||
|
@echo " qthelp to make HTML files and a qthelp project"
|
||||||
|
@echo " applehelp to make an Apple Help Book"
|
||||||
|
@echo " devhelp to make HTML files and a Devhelp project"
|
||||||
|
@echo " epub to make an epub"
|
||||||
|
@echo " epub3 to make an epub3"
|
||||||
|
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||||
|
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||||
|
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||||
|
@echo " text to make text files"
|
||||||
|
@echo " man to make manual pages"
|
||||||
|
@echo " texinfo to make Texinfo files"
|
||||||
|
@echo " info to make Texinfo files and run them through makeinfo"
|
||||||
|
@echo " gettext to make PO message catalogs"
|
||||||
|
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||||
|
@echo " xml to make Docutils-native XML files"
|
||||||
|
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||||
|
@echo " linkcheck to check all external links for integrity"
|
||||||
|
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||||
|
@echo " coverage to run coverage check of the documentation (if enabled)"
|
||||||
|
@echo " dummy to check syntax errors of document sources"
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILDDIR)/*
|
||||||
|
|
||||||
|
.PHONY: html
|
||||||
|
html:
|
||||||
|
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||||
|
|
||||||
|
.PHONY: dirhtml
|
||||||
|
dirhtml:
|
||||||
|
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||||
|
|
||||||
|
.PHONY: singlehtml
|
||||||
|
singlehtml:
|
||||||
|
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||||
|
|
||||||
|
.PHONY: pickle
|
||||||
|
pickle:
|
||||||
|
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can process the pickle files."
|
||||||
|
|
||||||
|
.PHONY: json
|
||||||
|
json:
|
||||||
|
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can process the JSON files."
|
||||||
|
|
||||||
|
.PHONY: htmlhelp
|
||||||
|
htmlhelp:
|
||||||
|
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||||
|
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||||
|
|
||||||
|
.PHONY: qthelp
|
||||||
|
qthelp:
|
||||||
|
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||||
|
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||||
|
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/meta-raspberrypi.qhcp"
|
||||||
|
@echo "To view the help file:"
|
||||||
|
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/meta-raspberrypi.qhc"
|
||||||
|
|
||||||
|
.PHONY: applehelp
|
||||||
|
applehelp:
|
||||||
|
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
|
||||||
|
@echo "N.B. You won't be able to view it unless you put it in" \
|
||||||
|
"~/Library/Documentation/Help or install it in your application" \
|
||||||
|
"bundle."
|
||||||
|
|
||||||
|
.PHONY: devhelp
|
||||||
|
devhelp:
|
||||||
|
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||||
|
@echo
|
||||||
|
@echo "Build finished."
|
||||||
|
@echo "To view the help file:"
|
||||||
|
@echo "# mkdir -p $$HOME/.local/share/devhelp/meta-raspberrypi"
|
||||||
|
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/meta-raspberrypi"
|
||||||
|
@echo "# devhelp"
|
||||||
|
|
||||||
|
.PHONY: epub
|
||||||
|
epub:
|
||||||
|
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||||
|
|
||||||
|
.PHONY: epub3
|
||||||
|
epub3:
|
||||||
|
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
|
||||||
|
|
||||||
|
.PHONY: latex
|
||||||
|
latex:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo
|
||||||
|
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||||
|
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||||
|
"(use \`make latexpdf' here to do that automatically)."
|
||||||
|
|
||||||
|
.PHONY: latexpdf
|
||||||
|
latexpdf:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo "Running LaTeX files through pdflatex..."
|
||||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||||
|
|
||||||
|
.PHONY: latexpdfja
|
||||||
|
latexpdfja:
|
||||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
|
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||||
|
|
||||||
|
.PHONY: text
|
||||||
|
text:
|
||||||
|
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||||
|
|
||||||
|
.PHONY: man
|
||||||
|
man:
|
||||||
|
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||||
|
|
||||||
|
.PHONY: texinfo
|
||||||
|
texinfo:
|
||||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||||
|
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||||
|
"(use \`make info' here to do that automatically)."
|
||||||
|
|
||||||
|
.PHONY: info
|
||||||
|
info:
|
||||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
|
@echo "Running Texinfo files through makeinfo..."
|
||||||
|
make -C $(BUILDDIR)/texinfo info
|
||||||
|
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||||
|
|
||||||
|
.PHONY: gettext
|
||||||
|
gettext:
|
||||||
|
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||||
|
|
||||||
|
.PHONY: changes
|
||||||
|
changes:
|
||||||
|
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||||
|
@echo
|
||||||
|
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||||
|
|
||||||
|
.PHONY: linkcheck
|
||||||
|
linkcheck:
|
||||||
|
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||||
|
@echo
|
||||||
|
@echo "Link check complete; look for any errors in the above output " \
|
||||||
|
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||||
|
|
||||||
|
.PHONY: doctest
|
||||||
|
doctest:
|
||||||
|
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||||
|
@echo "Testing of doctests in the sources finished, look at the " \
|
||||||
|
"results in $(BUILDDIR)/doctest/output.txt."
|
||||||
|
|
||||||
|
.PHONY: coverage
|
||||||
|
coverage:
|
||||||
|
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
|
||||||
|
@echo "Testing of coverage in the sources finished, look at the " \
|
||||||
|
"results in $(BUILDDIR)/coverage/python.txt."
|
||||||
|
|
||||||
|
.PHONY: xml
|
||||||
|
xml:
|
||||||
|
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||||
|
|
||||||
|
.PHONY: pseudoxml
|
||||||
|
pseudoxml:
|
||||||
|
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
||||||
|
|
||||||
|
.PHONY: dummy
|
||||||
|
dummy:
|
||||||
|
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. Dummy builder generates no files."
|
||||||
343
docs/conf.py
Normal file
343
docs/conf.py
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# meta-raspberrypi documentation build configuration file, created by
|
||||||
|
# sphinx-quickstart on Tue May 23 09:51:24 2017.
|
||||||
|
#
|
||||||
|
# This file is execfile()d with the current directory set to its
|
||||||
|
# containing dir.
|
||||||
|
#
|
||||||
|
# Note that not all possible configuration values are present in this
|
||||||
|
# autogenerated file.
|
||||||
|
#
|
||||||
|
# All configuration values have a default; values that are commented out
|
||||||
|
# serve to show the default.
|
||||||
|
|
||||||
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
|
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||||
|
#
|
||||||
|
# import os
|
||||||
|
# import sys
|
||||||
|
# sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
|
||||||
|
# -- General configuration ------------------------------------------------
|
||||||
|
|
||||||
|
# If your documentation needs a minimal Sphinx version, state it here.
|
||||||
|
#
|
||||||
|
# needs_sphinx = '1.0'
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
|
# ones.
|
||||||
|
extensions = []
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# The suffix(es) of source filenames.
|
||||||
|
# You can specify multiple suffix as a list of string:
|
||||||
|
#
|
||||||
|
# source_suffix = ['.rst', '.md']
|
||||||
|
source_suffix = ['.rst', '.md']
|
||||||
|
|
||||||
|
# The encoding of source files.
|
||||||
|
#
|
||||||
|
# source_encoding = 'utf-8-sig'
|
||||||
|
|
||||||
|
# The master toctree document.
|
||||||
|
master_doc = 'index'
|
||||||
|
|
||||||
|
# General information about the project.
|
||||||
|
project = 'meta-raspberrypi'
|
||||||
|
copyright = '2017, meta-raspberrypi contributors'
|
||||||
|
author = 'meta-raspberrypi contributors'
|
||||||
|
|
||||||
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
# built documents.
|
||||||
|
#
|
||||||
|
# The short X.Y version.
|
||||||
|
version = 'master'
|
||||||
|
# The full version, including alpha/beta/rc tags.
|
||||||
|
release = 'master'
|
||||||
|
|
||||||
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
|
# for a list of supported languages.
|
||||||
|
#
|
||||||
|
# This is also used if you do content translation via gettext catalogs.
|
||||||
|
# Usually you set "language" from the command line for these cases.
|
||||||
|
language = None
|
||||||
|
|
||||||
|
# There are two options for replacing |today|: either, you set today to some
|
||||||
|
# non-false value, then it is used:
|
||||||
|
#
|
||||||
|
# today = ''
|
||||||
|
#
|
||||||
|
# Else, today_fmt is used as the format for a strftime call.
|
||||||
|
#
|
||||||
|
# today_fmt = '%B %d, %Y'
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
# This patterns also effect to html_static_path and html_extra_path
|
||||||
|
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||||
|
|
||||||
|
# The reST default role (used for this markup: `text`) to use for all
|
||||||
|
# documents.
|
||||||
|
#
|
||||||
|
# default_role = None
|
||||||
|
|
||||||
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||||
|
#
|
||||||
|
# add_function_parentheses = True
|
||||||
|
|
||||||
|
# If true, the current module name will be prepended to all description
|
||||||
|
# unit titles (such as .. function::).
|
||||||
|
#
|
||||||
|
# add_module_names = True
|
||||||
|
|
||||||
|
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||||
|
# output. They are ignored by default.
|
||||||
|
#
|
||||||
|
# show_authors = False
|
||||||
|
|
||||||
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
|
pygments_style = 'sphinx'
|
||||||
|
|
||||||
|
# A list of ignored prefixes for module index sorting.
|
||||||
|
# modindex_common_prefix = []
|
||||||
|
|
||||||
|
# If true, keep warnings as "system message" paragraphs in the built documents.
|
||||||
|
# keep_warnings = False
|
||||||
|
|
||||||
|
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||||
|
todo_include_todos = False
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output ----------------------------------------------
|
||||||
|
|
||||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
# a list of builtin themes.
|
||||||
|
#
|
||||||
|
# html_theme = 'alabaster'
|
||||||
|
|
||||||
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
|
# further. For a list of options available for each theme, see the
|
||||||
|
# documentation.
|
||||||
|
#
|
||||||
|
# html_theme_options = {}
|
||||||
|
|
||||||
|
# Add any paths that contain custom themes here, relative to this directory.
|
||||||
|
# html_theme_path = []
|
||||||
|
|
||||||
|
# The name for this set of Sphinx documents.
|
||||||
|
# "<project> v<release> documentation" by default.
|
||||||
|
#
|
||||||
|
# html_title = 'meta-raspberrypi vmaster'
|
||||||
|
|
||||||
|
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||||
|
#
|
||||||
|
# html_short_title = None
|
||||||
|
|
||||||
|
# The name of an image file (relative to this directory) to place at the top
|
||||||
|
# of the sidebar.
|
||||||
|
#
|
||||||
|
# html_logo = None
|
||||||
|
|
||||||
|
# The name of an image file (relative to this directory) to use as a favicon of
|
||||||
|
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||||
|
# pixels large.
|
||||||
|
#
|
||||||
|
# html_favicon = None
|
||||||
|
|
||||||
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
|
html_static_path = ['_static']
|
||||||
|
|
||||||
|
# Add any extra paths that contain custom files (such as robots.txt or
|
||||||
|
# .htaccess) here, relative to this directory. These files are copied
|
||||||
|
# directly to the root of the documentation.
|
||||||
|
#
|
||||||
|
# html_extra_path = []
|
||||||
|
|
||||||
|
# If not None, a 'Last updated on:' timestamp is inserted at every page
|
||||||
|
# bottom, using the given strftime format.
|
||||||
|
# The empty string is equivalent to '%b %d, %Y'.
|
||||||
|
#
|
||||||
|
# html_last_updated_fmt = None
|
||||||
|
|
||||||
|
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||||
|
# typographically correct entities.
|
||||||
|
#
|
||||||
|
# html_use_smartypants = True
|
||||||
|
|
||||||
|
# Custom sidebar templates, maps document names to template names.
|
||||||
|
#
|
||||||
|
# html_sidebars = {}
|
||||||
|
|
||||||
|
# Additional templates that should be rendered to pages, maps page names to
|
||||||
|
# template names.
|
||||||
|
#
|
||||||
|
# html_additional_pages = {}
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#
|
||||||
|
# html_domain_indices = True
|
||||||
|
|
||||||
|
# If false, no index is generated.
|
||||||
|
#
|
||||||
|
# html_use_index = True
|
||||||
|
|
||||||
|
# If true, the index is split into individual pages for each letter.
|
||||||
|
#
|
||||||
|
# html_split_index = False
|
||||||
|
|
||||||
|
# If true, links to the reST sources are added to the pages.
|
||||||
|
#
|
||||||
|
# html_show_sourcelink = True
|
||||||
|
|
||||||
|
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||||
|
#
|
||||||
|
# html_show_sphinx = True
|
||||||
|
|
||||||
|
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||||
|
#
|
||||||
|
# html_show_copyright = True
|
||||||
|
|
||||||
|
# If true, an OpenSearch description file will be output, and all pages will
|
||||||
|
# contain a <link> tag referring to it. The value of this option must be the
|
||||||
|
# base URL from which the finished HTML is served.
|
||||||
|
#
|
||||||
|
# html_use_opensearch = ''
|
||||||
|
|
||||||
|
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||||
|
# html_file_suffix = None
|
||||||
|
|
||||||
|
# Language to be used for generating the HTML full-text search index.
|
||||||
|
# Sphinx supports the following languages:
|
||||||
|
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
|
||||||
|
# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
|
||||||
|
#
|
||||||
|
# html_search_language = 'en'
|
||||||
|
|
||||||
|
# A dictionary with options for the search language support, empty by default.
|
||||||
|
# 'ja' uses this config value.
|
||||||
|
# 'zh' user can custom change `jieba` dictionary path.
|
||||||
|
#
|
||||||
|
# html_search_options = {'type': 'default'}
|
||||||
|
|
||||||
|
# The name of a javascript file (relative to the configuration directory) that
|
||||||
|
# implements a search results scorer. If empty, the default will be used.
|
||||||
|
#
|
||||||
|
# html_search_scorer = 'scorer.js'
|
||||||
|
|
||||||
|
# Output file base name for HTML help builder.
|
||||||
|
htmlhelp_basename = 'meta-raspberrypidoc'
|
||||||
|
|
||||||
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
|
latex_elements = {
|
||||||
|
# The paper size ('letterpaper' or 'a4paper').
|
||||||
|
#
|
||||||
|
# 'papersize': 'letterpaper',
|
||||||
|
|
||||||
|
# The font size ('10pt', '11pt' or '12pt').
|
||||||
|
#
|
||||||
|
# 'pointsize': '10pt',
|
||||||
|
|
||||||
|
# Additional stuff for the LaTeX preamble.
|
||||||
|
#
|
||||||
|
# 'preamble': '',
|
||||||
|
|
||||||
|
# Latex figure (float) alignment
|
||||||
|
#
|
||||||
|
# 'figure_align': 'htbp',
|
||||||
|
}
|
||||||
|
|
||||||
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
|
# (source start file, target name, title,
|
||||||
|
# author, documentclass [howto, manual, or own class]).
|
||||||
|
latex_documents = [
|
||||||
|
(master_doc, 'meta-raspberrypi.tex', 'meta-raspberrypi Documentation',
|
||||||
|
'meta-raspberrypi contributors', 'manual'),
|
||||||
|
]
|
||||||
|
|
||||||
|
# The name of an image file (relative to this directory) to place at the top of
|
||||||
|
# the title page.
|
||||||
|
#
|
||||||
|
# latex_logo = None
|
||||||
|
|
||||||
|
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||||
|
# not chapters.
|
||||||
|
#
|
||||||
|
# latex_use_parts = False
|
||||||
|
|
||||||
|
# If true, show page references after internal links.
|
||||||
|
#
|
||||||
|
# latex_show_pagerefs = False
|
||||||
|
|
||||||
|
# If true, show URL addresses after external links.
|
||||||
|
#
|
||||||
|
# latex_show_urls = False
|
||||||
|
|
||||||
|
# Documents to append as an appendix to all manuals.
|
||||||
|
#
|
||||||
|
# latex_appendices = []
|
||||||
|
|
||||||
|
# It false, will not define \strong, \code, itleref, \crossref ... but only
|
||||||
|
# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
|
||||||
|
# packages.
|
||||||
|
#
|
||||||
|
# latex_keep_old_macro_names = True
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#
|
||||||
|
# latex_domain_indices = True
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for manual page output ---------------------------------------
|
||||||
|
|
||||||
|
# One entry per manual page. List of tuples
|
||||||
|
# (source start file, name, description, authors, manual section).
|
||||||
|
man_pages = [
|
||||||
|
(master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
|
||||||
|
[author], 1)
|
||||||
|
]
|
||||||
|
|
||||||
|
# If true, show URL addresses after external links.
|
||||||
|
#
|
||||||
|
# man_show_urls = False
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Texinfo output -------------------------------------------
|
||||||
|
|
||||||
|
# Grouping the document tree into Texinfo files. List of tuples
|
||||||
|
# (source start file, target name, title, author,
|
||||||
|
# dir menu entry, description, category)
|
||||||
|
texinfo_documents = [
|
||||||
|
(master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
|
||||||
|
author, 'meta-raspberrypi', 'One line description of project.',
|
||||||
|
'Miscellaneous'),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Documents to append as an appendix to all manuals.
|
||||||
|
#
|
||||||
|
# texinfo_appendices = []
|
||||||
|
|
||||||
|
# If false, no module index is generated.
|
||||||
|
#
|
||||||
|
# texinfo_domain_indices = True
|
||||||
|
|
||||||
|
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||||
|
#
|
||||||
|
# texinfo_show_urls = 'footnote'
|
||||||
|
|
||||||
|
# If true, do not generate a @detailmenu in the "Top" node's menu.
|
||||||
|
#
|
||||||
|
# texinfo_no_detailmenu = False
|
||||||
|
|
||||||
|
source_parsers = {
|
||||||
|
'.md': 'recommonmark.parser.CommonMarkParser',
|
||||||
|
}
|
||||||
109
docs/contributing.md
Normal file
109
docs/contributing.md
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
# Contributing
|
||||||
|
|
||||||
|
## Mailing list
|
||||||
|
|
||||||
|
The main communication tool in use is the Yocto Project mailing list:
|
||||||
|
|
||||||
|
* <yocto@yoctoproject.org>
|
||||||
|
* <https://lists.yoctoproject.org/listinfo/yocto>
|
||||||
|
|
||||||
|
Feel free to ask any kind of questions but please always prepend your email
|
||||||
|
subject with `[meta-raspberrypi]` as this is the global *Yocto* mailing
|
||||||
|
list and not a dedicated *meta-raspberrypi* mailing list.
|
||||||
|
|
||||||
|
## Formatting patches
|
||||||
|
|
||||||
|
First and foremost, all of the contributions to the layer must be compliant
|
||||||
|
with the standard openembedded patch guidelines:
|
||||||
|
|
||||||
|
* <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
|
||||||
|
|
||||||
|
In summary, your commit log messages should be formatted as follows:
|
||||||
|
|
||||||
|
<layer-component>: <short log/statement of what needed to be changed>
|
||||||
|
|
||||||
|
(Optional pointers to external resources, such as defect tracking)
|
||||||
|
|
||||||
|
The intent of your change.
|
||||||
|
|
||||||
|
(Optional: if it's not clear from above, how your change resolves
|
||||||
|
the issues in the first part)
|
||||||
|
|
||||||
|
Signed-off-by: Your Name <yourname@youremail.com>
|
||||||
|
|
||||||
|
The `<layer-component>` is the layer component name that your changes affect.
|
||||||
|
It is important that you choose it correctly. A simple guide for selecting a
|
||||||
|
a good component name is the following:
|
||||||
|
|
||||||
|
* For changes that affect *layer recipes*, please just use the **base names**
|
||||||
|
of the affected recipes, separated by commas (`,`), as the component name.
|
||||||
|
For example: use `omxplayer` instead of `omxplayer_git.bb`. If you are
|
||||||
|
adding new recipe(s), just use the new recipe(s) base name(s). An example
|
||||||
|
for changes to multiple recipes would be `userland,vc-graphics,wayland`.
|
||||||
|
* For changes that affect the *layer documentation*, please just use `docs`
|
||||||
|
as the component name.
|
||||||
|
* For changes that affect *other files*, i.e. under the `conf` directory,
|
||||||
|
please use the full path as the component name, e.g. `conf/layer.conf`.
|
||||||
|
* For changes that affect the *layer itself* and do not fall into any of
|
||||||
|
the above cases, please use `meta-raspberrypi` as the component name.
|
||||||
|
|
||||||
|
A full example of a suitable commit log message is below:
|
||||||
|
|
||||||
|
foobar: Adjusted the foo setting in bar
|
||||||
|
|
||||||
|
When using foobar on systems with less than a gigabyte of RAM common
|
||||||
|
usage patterns often result in an Out-of-memory condition causing
|
||||||
|
slowdowns and unexpected application termination.
|
||||||
|
|
||||||
|
Low-memory systems should continue to function without running into
|
||||||
|
memory-starvation conditions with minimal cost to systems with more
|
||||||
|
available memory. High-memory systems will be less able to use the
|
||||||
|
full extent of the system, a dynamically tunable option may be best,
|
||||||
|
long-term.
|
||||||
|
|
||||||
|
The foo setting in bar was decreased from X to X-50% in order to
|
||||||
|
ensure we don't exhaust all system memory with foobar threads.
|
||||||
|
|
||||||
|
Signed-off-by: Joe Developer <joe.developer@example.com>
|
||||||
|
|
||||||
|
A common issue during patch reviewing is commit log formatting, please review
|
||||||
|
the above formatting guidelines carefully before sending your patches.
|
||||||
|
|
||||||
|
## Sending patches
|
||||||
|
|
||||||
|
The preferred method to contribute to this project is to send pull
|
||||||
|
requests to the GitHub mirror of the layer:
|
||||||
|
|
||||||
|
* <https://github.com/agherzan/meta-raspberrypi>
|
||||||
|
|
||||||
|
**In addition**, you may send patches for review to the above specified
|
||||||
|
mailing list. In this case, when creating patches using `git` please make
|
||||||
|
sure to use the following formatting for the message subject:
|
||||||
|
|
||||||
|
git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
|
||||||
|
|
||||||
|
Then, for sending patches to the mailing list, you may use this command:
|
||||||
|
|
||||||
|
git send-email --to yocto@yoctoproject.org <generated patch>
|
||||||
|
|
||||||
|
## GitHub issues
|
||||||
|
|
||||||
|
In order to manage and track the layer issues more efficiently, the
|
||||||
|
GitHub issues facility is used by this project:
|
||||||
|
|
||||||
|
* <https://github.com/agherzan/meta-raspberrypi/issues>
|
||||||
|
|
||||||
|
If you submit patches that have a GitHub issue associated, please make sure to
|
||||||
|
use standard GitHub keywords, e.g. `closes`, `resolves` or `fixes`, before the
|
||||||
|
"Signed-off-by" tag to close the relevant issues automatically:
|
||||||
|
|
||||||
|
foobar: Adjusted the foo setting in bar
|
||||||
|
|
||||||
|
Fixes: #324
|
||||||
|
|
||||||
|
Signed-off-by: Joe Developer <joe.developer@example.com>
|
||||||
|
|
||||||
|
More information on the available GitHub close keywords can be found here:
|
||||||
|
|
||||||
|
* <https://help.github.com/articles/closing-issues-using-keywords>
|
||||||
|
|
||||||
9
docs/extra-apps.md
Normal file
9
docs/extra-apps.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Extra apps
|
||||||
|
|
||||||
|
## omxplayer
|
||||||
|
|
||||||
|
omxplayer depends on libav which has a commercial license. So in order to be
|
||||||
|
able to compile omxplayer you will need to whiteflag the commercial
|
||||||
|
license in your local.conf:
|
||||||
|
|
||||||
|
LICENSE_FLAGS_WHITELIST = "commercial"
|
||||||
263
docs/extra-build-config.md
Normal file
263
docs/extra-build-config.md
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
# Optional build configuration
|
||||||
|
|
||||||
|
There are a set of ways in which a user can influence different paramenters of
|
||||||
|
the build. We list here the ones that are closely related to this BSP or
|
||||||
|
specific to it. For the rest please check:
|
||||||
|
<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
|
||||||
|
|
||||||
|
## Compressed deployed files
|
||||||
|
|
||||||
|
1. Overwrite IMAGE_FSTYPES in local.conf
|
||||||
|
* `IMAGE_FSTYPES = "tar.bz2 ext3.xz"`
|
||||||
|
|
||||||
|
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
|
||||||
|
* `SDIMG_ROOTFS_TYPE = "ext3.xz"`
|
||||||
|
|
||||||
|
3. Overwrite SDIMG_COMPRESSION in local.conf
|
||||||
|
* `SDIMG_COMPRESSION = "xz"`
|
||||||
|
|
||||||
|
Accommodate the values above to your own needs (ex: ext3 / ext4).
|
||||||
|
|
||||||
|
## GPU memory
|
||||||
|
|
||||||
|
* `GPU_MEM`: GPU memory in megabyte. Sets the memory split between the ARM and
|
||||||
|
GPU. ARM gets the remaining memory. Min 16. Default 64.
|
||||||
|
|
||||||
|
* `GPU_MEM_256`: GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by
|
||||||
|
the 512MB RP. Overrides gpu_mem. Max 192. Default not set.
|
||||||
|
|
||||||
|
* `GPU_MEM_512`: GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by
|
||||||
|
the 256MB RP. Overrides gpu_mem. Max 448. Default not set.
|
||||||
|
|
||||||
|
* `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by
|
||||||
|
the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
|
||||||
|
|
||||||
|
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
|
||||||
|
|
||||||
|
## Add purchased license codecs
|
||||||
|
|
||||||
|
To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
|
||||||
|
local.conf. Example:
|
||||||
|
|
||||||
|
KEY_DECODE_MPG2 = "12345678"
|
||||||
|
KEY_DECODE_WVC1 = "12345678"
|
||||||
|
|
||||||
|
You can supply more licenses separated by comma. Example:
|
||||||
|
|
||||||
|
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
|
||||||
|
|
||||||
|
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/codeclicence.md>
|
||||||
|
|
||||||
|
## Disable overscan
|
||||||
|
|
||||||
|
By default the GPU adds a black border around the video output to compensate for
|
||||||
|
TVs which cut off part of the image. To disable this set this variable in
|
||||||
|
local.conf:
|
||||||
|
|
||||||
|
DISABLE_OVERSCAN = "1"
|
||||||
|
|
||||||
|
## Disable splash screen
|
||||||
|
|
||||||
|
By default a rainbow splash screen is shown after the GPU firmware is loaded.
|
||||||
|
To disable this set this variable in local.conf:
|
||||||
|
|
||||||
|
DISABLE_SPLASH = "1"
|
||||||
|
|
||||||
|
## Boot delay
|
||||||
|
|
||||||
|
The Raspberry Pi waits a number of seconds after loading the GPU firmware and
|
||||||
|
before loading the kernel. By default it is one second. This is useful if your
|
||||||
|
SD card needs a while to get ready before Linux is able to boot from it.
|
||||||
|
To remove (or adjust) this delay set these variables in local.conf:
|
||||||
|
|
||||||
|
BOOT_DELAY = "0"
|
||||||
|
BOOT_DELAY_MS = "0"
|
||||||
|
|
||||||
|
## Set overclocking options
|
||||||
|
|
||||||
|
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
|
||||||
|
Mode" is officially supported by the raspbery and does not void warranty. Check
|
||||||
|
the config.txt for a detailed description of options and modes. The following
|
||||||
|
variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
|
||||||
|
`SDRAM_FREQ` and `OVER_VOLTAGE`.
|
||||||
|
|
||||||
|
Example official settings for Turbo Mode in Raspberry Pi 2:
|
||||||
|
|
||||||
|
ARM_FREQ = "1000"
|
||||||
|
CORE_FREQ = "500"
|
||||||
|
SDRAM_FREQ = "500"
|
||||||
|
OVER_VOLTAGE = "6"
|
||||||
|
|
||||||
|
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md>
|
||||||
|
|
||||||
|
## HDMI and composite video options
|
||||||
|
|
||||||
|
The Raspberry Pi can output video over HDMI or SDTV composite (the RCA connector).
|
||||||
|
By default the video mode for these is autodetected on boot: the HDMI mode is
|
||||||
|
selected according to the connected monitor's EDID information and the composite
|
||||||
|
mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a
|
||||||
|
detailed description of options and modes. The following variables are supported in
|
||||||
|
local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`,
|
||||||
|
`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`.
|
||||||
|
|
||||||
|
Example to force HDMI output to 720p in CEA mode:
|
||||||
|
|
||||||
|
HDMI_GROUP = "1"
|
||||||
|
HDMI_MODE = "4"
|
||||||
|
|
||||||
|
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/video.md>
|
||||||
|
|
||||||
|
## Video camera support with V4L2 drivers
|
||||||
|
|
||||||
|
Set this variable to enable support for the video camera (Linux 3.12.4+
|
||||||
|
required):
|
||||||
|
|
||||||
|
VIDEO_CAMERA = "1"
|
||||||
|
|
||||||
|
## Enable offline compositing support
|
||||||
|
|
||||||
|
Set this variable to enable support for dispmanx offline compositing:
|
||||||
|
|
||||||
|
DISPMANX_OFFLINE = "1"
|
||||||
|
|
||||||
|
This will enable the firmware to fall back to off-line compositing of Dispmanx
|
||||||
|
elements. Normally the compositing is done on-line, during scanout, but cannot
|
||||||
|
handle too many elements. With off-line enabled, an off-screen buffer is
|
||||||
|
allocated for compositing. When scene complexity (number and sizes
|
||||||
|
of elements) is high, compositing will happen off-line into the buffer.
|
||||||
|
|
||||||
|
Heavily recommended for Wayland/Weston.
|
||||||
|
|
||||||
|
See: <http://wayland.freedesktop.org/raspberrypi.html>
|
||||||
|
|
||||||
|
## Enable kgdb over console support
|
||||||
|
|
||||||
|
To add the kdbg over console (kgdboc) parameter to the kernel command line, set
|
||||||
|
this variable in local.conf:
|
||||||
|
|
||||||
|
ENABLE_KGDB = "1"
|
||||||
|
|
||||||
|
## Disable rpi boot logo
|
||||||
|
|
||||||
|
To disable rpi boot logo, set this variable in local.conf:
|
||||||
|
|
||||||
|
DISABLE_RPI_BOOT_LOGO = "1"
|
||||||
|
|
||||||
|
## Boot to U-Boot
|
||||||
|
|
||||||
|
To have u-boot load kernel image, set in your local.conf:
|
||||||
|
|
||||||
|
RPI_USE_U_BOOT = "1"
|
||||||
|
|
||||||
|
This will select the appropriate image format for use with u-boot automatically.
|
||||||
|
For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
|
||||||
|
be overridden to select the exact kernel image type (eg. zImage) and u-boot
|
||||||
|
command (eg. bootz) to be used.
|
||||||
|
|
||||||
|
## Image with Initramfs
|
||||||
|
|
||||||
|
To build an initramfs image:
|
||||||
|
|
||||||
|
* Set this 3 kernel variables (in kernel's do_configure_prepend in linux-raspberrypi.inc after the line kernel_configure_variable LOCALVERSION "\"\""
|
||||||
|
)
|
||||||
|
- kernel_configure_variable BLK_DEV_INITRD y
|
||||||
|
- kernel_configure_variable INITRAMFS_SOURCE ""
|
||||||
|
- kernel_configure_variable RD_GZIP y
|
||||||
|
|
||||||
|
* Set the yocto variables (e.g. in local.conf)
|
||||||
|
- `INITRAMFS_IMAGE = "<name for your initramfs image>"`
|
||||||
|
- `INITRAMFS_IMAGE_BUNDLE = "1"`
|
||||||
|
- `BOOT_SPACE = "1073741"`
|
||||||
|
- `INITRAMFS_MAXSIZE = "315400"`
|
||||||
|
- `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
|
||||||
|
|
||||||
|
## Enable SPI bus
|
||||||
|
|
||||||
|
When using device tree kernels, set this variable to enable the SPI bus:
|
||||||
|
|
||||||
|
ENABLE_SPI_BUS = "1"
|
||||||
|
|
||||||
|
## Enable I2C
|
||||||
|
|
||||||
|
When using device tree kernels, set this variable to enable I2C:
|
||||||
|
|
||||||
|
ENABLE_I2C = "1"
|
||||||
|
|
||||||
|
## Enable PiTFT support
|
||||||
|
|
||||||
|
Basic support for using PiTFT screens can be enabled by adding below in
|
||||||
|
local.conf:
|
||||||
|
|
||||||
|
* `MACHINE_FEATURES += "pitft"`
|
||||||
|
- This will enable SPI bus and i2c device-trees, it will also setup
|
||||||
|
framebuffer for console and x server on PiTFT.
|
||||||
|
|
||||||
|
NOTE: To get this working the overlay for the PiTFT model must be build, added
|
||||||
|
and specified as well (dtoverlay=<driver> in config.txt).
|
||||||
|
|
||||||
|
Below is a list of currently supported PiTFT models in meta-raspberrypi, the
|
||||||
|
modelname should be added as a MACHINE_FEATURES in local.conf like below:
|
||||||
|
|
||||||
|
MACHINE_FEATURES += "pitft <modelname>"
|
||||||
|
|
||||||
|
List of currently supported models:
|
||||||
|
* pitft22
|
||||||
|
* pitft28r
|
||||||
|
* pitft35r
|
||||||
|
|
||||||
|
## Misc. display
|
||||||
|
|
||||||
|
If you would like to use the Waveshare "C" 1024×600, 7 inch Capacitive Touch
|
||||||
|
Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
|
||||||
|
2.1, please set the following in your local.conf:
|
||||||
|
|
||||||
|
WAVESHARE_1024X600_C_2_1 = "1"
|
||||||
|
|
||||||
|
## Enable UART
|
||||||
|
|
||||||
|
RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
|
||||||
|
|
||||||
|
RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
|
||||||
|
needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
|
||||||
|
operations - 60fps h264 decode, high quality deinterlace - which aren't
|
||||||
|
performed on the ARM may be affected, and we wouldn't want to do that to users
|
||||||
|
who don't want to use the serial port. Users who want serial console support on
|
||||||
|
RaspberryPi3 will have to explicitly set in local.conf:
|
||||||
|
|
||||||
|
ENABLE_UART = "1"
|
||||||
|
|
||||||
|
Ref.:
|
||||||
|
* <https://github.com/raspberrypi/firmware/issues/553>
|
||||||
|
* <https://github.com/RPi-Distro/repo/issues/22>
|
||||||
|
|
||||||
|
## Enable USB Peripheral (Gadget) support
|
||||||
|
|
||||||
|
The standard USB driver only supports host mode operations. Users who
|
||||||
|
want to use gadget modules like g_ether should set the following in
|
||||||
|
local.conf:
|
||||||
|
|
||||||
|
ENABLE_DWC2_PERIPHERAL = "1"
|
||||||
|
|
||||||
|
## Enable Openlabs 802.15.4 radio module
|
||||||
|
|
||||||
|
When using device tree kernels, set this variable to enable the 802.15.4 hat:
|
||||||
|
|
||||||
|
ENABLE_AT86RF = "1"
|
||||||
|
|
||||||
|
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
|
||||||
|
|
||||||
|
## Manual additions to config.txt
|
||||||
|
|
||||||
|
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
|
||||||
|
the `config.txt` file if there is not a specific option above for the
|
||||||
|
configuration you need. To add multiple lines you must include `\n` separators.
|
||||||
|
If double-quotes are needed in the lines you are adding you can use single
|
||||||
|
quotes around the whole string.
|
||||||
|
|
||||||
|
For example, to add a comment containing a double-quote and a configuration
|
||||||
|
option:
|
||||||
|
|
||||||
|
RPI_EXTRA_CONFIG = ' \n \
|
||||||
|
# Raspberry Pi 7\" display/touch screen \n \
|
||||||
|
lcd_rotate=2 \n \
|
||||||
|
'
|
||||||
26
docs/index.rst
Normal file
26
docs/index.rst
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
.. meta-raspberrypi documentation master file, created by
|
||||||
|
sphinx-quickstart on Tue May 23 09:51:24 2017.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to meta-raspberrypi's documentation!
|
||||||
|
============================================
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
readme
|
||||||
|
layer-contents
|
||||||
|
extra-build-config
|
||||||
|
extra-apps
|
||||||
|
contributing
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
||||||
|
|
||||||
34
docs/layer-contents.md
Normal file
34
docs/layer-contents.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Layer Contents
|
||||||
|
|
||||||
|
## Supported Machines
|
||||||
|
|
||||||
|
* raspberrypi
|
||||||
|
* raspberrypi0
|
||||||
|
* raspberrypi0-wifi
|
||||||
|
* raspberrypi2
|
||||||
|
* raspberrypi3
|
||||||
|
* raspberrypi3-64 (64 bit kernel & userspace)
|
||||||
|
* raspberrypi-cm (dummy alias for raspberrypi)
|
||||||
|
* raspberrypi-cm3
|
||||||
|
|
||||||
|
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
|
||||||
|
|
||||||
|
## Images
|
||||||
|
|
||||||
|
* rpi-test-image
|
||||||
|
* Image based on core-image-base which includes most of the packages in this
|
||||||
|
layer and some media samples.
|
||||||
|
|
||||||
|
For other uses it's recommended to base images on `core-image-minimal` or
|
||||||
|
`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and
|
||||||
|
`rpi-basic-image`) are deprecated.
|
||||||
|
|
||||||
|
## WiFi and Bluetooth Firmware
|
||||||
|
|
||||||
|
Be aware that the WiFi and Bluetooth firmware for the supported boards
|
||||||
|
is not available in the base version of `linux-firmware` from OE-Core
|
||||||
|
(poky). The files are added from Raspbian repositories in this layer's
|
||||||
|
bbappends to that recipe. All machines define
|
||||||
|
`MACHINE_EXTRA_RRECOMMENDS` to include the required wireless firmware;
|
||||||
|
raspberrypi3 supports 3, 3B, and 3B+ and so include multiple firmware
|
||||||
|
packages.
|
||||||
1
docs/readme.md
Symbolic link
1
docs/readme.md
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../README.md
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
RDEPENDS_packagegroup-meta-oe-kernel_remove_rpi = "bpftool"
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# remove it when we upgrade to kernel > 4.14
|
||||||
|
#
|
||||||
|
COMPATIBLE_HOST_rpi = "null"
|
||||||
17
dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
Normal file
17
dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
|
||||||
|
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
|
||||||
|
'', d), d)}"
|
||||||
|
PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' gbm kms', '', d)}"
|
||||||
|
PACKAGECONFIG_FONTS_rpi = "fontconfig"
|
||||||
|
PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon-evdev"
|
||||||
|
PACKAGECONFIG_remove_rpi = "tests"
|
||||||
|
|
||||||
|
OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}"
|
||||||
|
|
||||||
|
do_configure_prepend_rpi() {
|
||||||
|
# Add the appropriate EGLFS_DEVICE_INTEGRATION
|
||||||
|
if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then
|
||||||
|
echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
RDEPENDS_${PN}_append_rpi = " userland"
|
||||||
@@ -3,13 +3,15 @@ LICENSE = "Proprietary"
|
|||||||
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
|
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
|
||||||
|
|
||||||
inherit deploy
|
inherit deploy nopackages
|
||||||
|
|
||||||
include recipes-bsp/common/firmware.inc
|
include recipes-bsp/common/firmware.inc
|
||||||
|
|
||||||
RDEPENDS_${PN} = "rpi-config"
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
DEPENDS = "rpi-config"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
S = "${RPIFW_S}/boot"
|
S = "${RPIFW_S}/boot"
|
||||||
|
|
||||||
@@ -32,7 +34,7 @@ do_deploy() {
|
|||||||
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
|
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
|
||||||
}
|
}
|
||||||
|
|
||||||
addtask deploy before do_package after do_install
|
addtask deploy before do_build after do_install
|
||||||
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
|
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
|
||||||
|
|
||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
|
|||||||
the ARM core is initialised. It can be used to set various \
|
the ARM core is initialised. It can be used to set various \
|
||||||
system configuration parameters."
|
system configuration parameters."
|
||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
|
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
|
||||||
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
|
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
|
||||||
@@ -13,13 +13,19 @@ SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
|
|||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
PR = "r4"
|
PR = "r5"
|
||||||
|
|
||||||
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
|
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
|
||||||
PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
|
PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
|
||||||
PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
|
PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
|
||||||
|
PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
|
||||||
|
|
||||||
inherit deploy
|
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
|
||||||
|
VC4DTBO ?= "vc4-kms-v3d"
|
||||||
|
|
||||||
|
inherit deploy nopackages
|
||||||
|
|
||||||
do_deploy() {
|
do_deploy() {
|
||||||
install -d ${DEPLOYDIR}/bcm2835-bootfiles
|
install -d ${DEPLOYDIR}/bcm2835-bootfiles
|
||||||
@@ -27,25 +33,33 @@ do_deploy() {
|
|||||||
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
|
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
|
||||||
|
|
||||||
if [ -n "${KEY_DECODE_MPG2}" ]; then
|
if [ -n "${KEY_DECODE_MPG2}" ]; then
|
||||||
sed -i '/#decode_MPG2/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${KEY_DECODE_WVC1}" ]; then
|
if [ -n "${KEY_DECODE_WVC1}" ]; then
|
||||||
sed -i '/#decode_WVC1/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${DISABLE_OVERSCAN}" ]; then
|
if [ -n "${DISABLE_OVERSCAN}" ]; then
|
||||||
sed -i '/#disable_overscan/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
if [ -n "${DISABLE_SPLASH}" ]; then
|
||||||
|
sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set overclocking options
|
||||||
if [ -n "${ARM_FREQ}" ]; then
|
if [ -n "${ARM_FREQ}" ]; then
|
||||||
sed -i '/#arm_freq/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${GPU_FREQ}" ]; then
|
||||||
|
sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${CORE_FREQ}" ]; then
|
if [ -n "${CORE_FREQ}" ]; then
|
||||||
sed -i '/#core_freq/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${SDRAM_FREQ}" ]; then
|
if [ -n "${SDRAM_FREQ}" ]; then
|
||||||
sed -i '/#sdram_freq/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${OVER_VOLTAGE}" ]; then
|
if [ -n "${OVER_VOLTAGE}" ]; then
|
||||||
sed -i '/#over_voltage/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# GPU memory
|
# GPU memory
|
||||||
@@ -53,13 +67,47 @@ do_deploy() {
|
|||||||
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${GPU_MEM_256}" ]; then
|
if [ -n "${GPU_MEM_256}" ]; then
|
||||||
sed -i '/#gpu_mem_256/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${GPU_MEM_512}" ]; then
|
if [ -n "${GPU_MEM_512}" ]; then
|
||||||
sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
if [ -n "${GPU_MEM_1024}" ]; then
|
if [ -n "${GPU_MEM_1024}" ]; then
|
||||||
sed -i '/#gpu_mem_1024/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set boot delay
|
||||||
|
if [ -n "${BOOT_DELAY}" ]; then
|
||||||
|
sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${BOOT_DELAY_MS}" ]; then
|
||||||
|
sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set HDMI and composite video options
|
||||||
|
if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then
|
||||||
|
sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${HDMI_DRIVE}" ]; then
|
||||||
|
sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${HDMI_GROUP}" ]; then
|
||||||
|
sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${HDMI_MODE}" ]; then
|
||||||
|
sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${CONFIG_HDMI_BOOST}" ]; then
|
||||||
|
sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${SDTV_MODE}" ]; then
|
||||||
|
sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${SDTV_ASPECT}" ]; then
|
||||||
|
sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
if [ -n "${DISPLAY_ROTATE}" ]; then
|
||||||
|
sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Video camera support
|
# Video camera support
|
||||||
@@ -80,6 +128,7 @@ do_deploy() {
|
|||||||
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# I2C support
|
||||||
if [ -n "${ENABLE_I2C}" ] || [ "${PITFT}" = "1" ]; then
|
if [ -n "${ENABLE_I2C}" ] || [ "${PITFT}" = "1" ]; then
|
||||||
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
@@ -91,20 +140,62 @@ do_deploy() {
|
|||||||
echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${PITFT28r}" = "1" ]; then
|
if [ "${PITFT28r}" = "1" ]; then
|
||||||
echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
if [ "${PITFT35r}" = "1" ]; then
|
||||||
|
echo "# Enable PITFT35r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
# UART support
|
# UART support
|
||||||
if [ "${ENABLE_UART}" = "1" ]; then
|
if [ "${ENABLE_UART}" = "1" ]; then
|
||||||
echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# VC4 Graphics support
|
||||||
|
if [ "${VC4GRAPHICS}" = "1" ]; then
|
||||||
|
echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
|
||||||
|
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
|
||||||
|
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DWC2 USB peripheral support
|
||||||
|
if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then
|
||||||
|
echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# AT86RF23X support
|
||||||
|
if [ "${ENABLE_AT86RF}" = "1" ]; then
|
||||||
|
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Append extra config if the user has provided any
|
||||||
|
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
addtask deploy before do_package after do_install
|
do_deploy_append_raspberrypi3-64() {
|
||||||
|
echo "# have a properly sized image" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "disable_overscan=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
|
||||||
|
echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
|
||||||
|
}
|
||||||
|
|
||||||
|
addtask deploy before do_build after do_install
|
||||||
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
|
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
|
||||||
|
|
||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
RPIFW_SRCREV ?= "390f53ed0fd79df274bdcc81d99e09fa262f03ab"
|
RPIFW_DATE ?= "20190212"
|
||||||
RPIFW_DATE ?= "20160622"
|
SRCREV ?= "83977fe3b6ef54c1d29c83b0a778d330f523441f"
|
||||||
RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
|
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
|
||||||
RPIFW_S ?= "${WORKDIR}/git"
|
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
|
||||||
|
|
||||||
SRC_URI = "${RPIFW_SRC_URI}"
|
SRC_URI = "${RPIFW_SRC_URI}"
|
||||||
SRCREV = "${RPIFW_SRCREV}"
|
SRC_URI[md5sum] = "5ccdb5447cbdd3ee0158a514f7b76cb9"
|
||||||
|
SRC_URI[sha256sum] = "9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a"
|
||||||
|
|
||||||
|
|
||||||
PV = "${RPIFW_DATE}"
|
PV = "${RPIFW_DATE}"
|
||||||
|
|||||||
3
recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
Normal file
3
recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
|
||||||
|
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
|
||||||
|
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
|
||||||
26
recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
Normal file
26
recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
SUMMARY = "U-boot boot scripts for Raspberry Pi"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
DEPENDS = "u-boot-mkimage-native"
|
||||||
|
|
||||||
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
|
SRC_URI = "file://boot.cmd.in"
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
|
||||||
|
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
|
||||||
|
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
|
||||||
|
mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
|
||||||
|
}
|
||||||
|
|
||||||
|
inherit deploy nopackages
|
||||||
|
|
||||||
|
do_deploy() {
|
||||||
|
install -d ${DEPLOYDIR}
|
||||||
|
install -m 0644 boot.scr ${DEPLOYDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
addtask do_deploy after do_compile before do_build
|
||||||
1
recipes-bsp/u-boot/u-boot_%.bbappend
Normal file
1
recipes-bsp/u-boot/u-boot_%.bbappend
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DEPENDS_append_rpi = " rpi-u-boot-scr"
|
||||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Broadcom BCM43438 bluetooth HCI
|
|
||||||
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
|
|
||||||
Before=bluetooth.service
|
|
||||||
After=dev-ttyAMA0.device
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStart=/usr/bin/hciattach -n /dev/ttyAMA0 bcm43xx 921600 noflow -
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
@@ -1,26 +1,16 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
SRC_URI_append_raspberrypi3 = " \
|
BCM_BT_SOURCES = " \
|
||||||
file://BCM43430A1.hcd \
|
|
||||||
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
|
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
|
||||||
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
||||||
file://0003-Increase-firmware-load-timeout-to-30s.patch \
|
file://0003-Increase-firmware-load-timeout-to-30s.patch \
|
||||||
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
|
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
|
||||||
file://brcm43438.service \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
do_install_append_raspberrypi3() {
|
BCM_BT_RDEPENDS = "pi-bluetooth"
|
||||||
install -d ${D}/lib/firmware/brcm/
|
|
||||||
install -m 0644 ${WORKDIR}/BCM43430A1.hcd ${D}/lib/firmware/brcm/BCM43430A1.hcd
|
|
||||||
|
|
||||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
|
||||||
install -d ${D}${systemd_unitdir}/system
|
SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
|
||||||
install -m 0644 ${WORKDIR}/brcm43438.service ${D}${systemd_unitdir}/system
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_${PN}_append_raspberrypi3 = " \
|
RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"
|
||||||
/lib/firmware/brcm/BCM43430A1.hcd \
|
RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
|
||||||
"
|
|
||||||
|
|
||||||
SYSTEMD_SERVICE_${PN}_raspberrypi3 += "brcm43438.service"
|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
From af91c96951a11f81f5cea88a0010161592c89310 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Peter A. Bigot" <pab@pabigot.com>
|
||||||
|
Date: Wed, 14 Nov 2018 09:19:51 -0600
|
||||||
|
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
|
||||||
|
|
||||||
|
Upstream-Status: Inapproprate [OE-specific]
|
||||||
|
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
|
||||||
|
---
|
||||||
|
usr/bin/bthelper | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/usr/bin/bthelper b/usr/bin/bthelper
|
||||||
|
index 255fdeb..4e1a1a4 100755
|
||||||
|
--- a/usr/bin/bthelper
|
||||||
|
+++ b/usr/bin/bthelper
|
||||||
|
@@ -10,7 +10,7 @@ fi
|
||||||
|
|
||||||
|
dev="$1"
|
||||||
|
# Need to bring hci up before looking at MAC as it can be all zeros during init
|
||||||
|
-/bin/hciconfig "$dev" up
|
||||||
|
-/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
|
||||||
|
+/usr/bin/hciconfig "$dev" up
|
||||||
|
+/usr/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
|
||||||
|
/usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null
|
||||||
|
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
46
recipes-connectivity/pi-bluetooth/pi-bluetooth_git.bb
Normal file
46
recipes-connectivity/pi-bluetooth/pi-bluetooth_git.bb
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi"
|
||||||
|
HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth"
|
||||||
|
SECTION = "kernel"
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "\
|
||||||
|
file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "\
|
||||||
|
git://github.com/RPi-Distro/pi-bluetooth \
|
||||||
|
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "2e1a393955910aea67bbf3c921be35a66e8a8fbe"
|
||||||
|
PV = "1.1+git${SRCPV}"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
# hciuart.service replaces what was brcm43438.service
|
||||||
|
inherit systemd
|
||||||
|
SYSTEMD_SERVICE_${PN} = "\
|
||||||
|
hciuart.service \
|
||||||
|
bthelper@.service \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit allarch
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${sysconfdir}/udev/rules.d
|
||||||
|
install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d
|
||||||
|
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 0755 ${S}/usr/bin/bthelper ${D}${bindir}
|
||||||
|
install -m 0755 ${S}/usr/bin/btuart ${D}${bindir}
|
||||||
|
|
||||||
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||||
|
install -d ${D}${systemd_system_unitdir}
|
||||||
|
install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service
|
||||||
|
install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} = "\
|
||||||
|
${bindir} \
|
||||||
|
${sysconfdir} \
|
||||||
|
${systemd_unitdir}/system \
|
||||||
|
"
|
||||||
@@ -1,6 +1,15 @@
|
|||||||
# Base this image on rpi-hwup-image
|
# Base this image on core-image-minimal
|
||||||
include rpi-hwup-image.bb
|
include recipes-core/images/core-image-minimal.bb
|
||||||
|
|
||||||
|
# Include modules in rootfs
|
||||||
|
IMAGE_INSTALL += " \
|
||||||
|
kernel-modules \
|
||||||
|
"
|
||||||
|
|
||||||
SPLASH = "psplash-raspberrypi"
|
SPLASH = "psplash-raspberrypi"
|
||||||
|
|
||||||
IMAGE_FEATURES += "ssh-server-dropbear splash"
|
IMAGE_FEATURES += "ssh-server-dropbear splash"
|
||||||
|
|
||||||
|
do_image_prepend() {
|
||||||
|
bb.warn("The image 'rpi-basic-image' is deprecated, please use 'core-image-base' instead")
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,3 +5,7 @@ include recipes-core/images/core-image-minimal.bb
|
|||||||
IMAGE_INSTALL += " \
|
IMAGE_INSTALL += " \
|
||||||
kernel-modules \
|
kernel-modules \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
do_image_prepend() {
|
||||||
|
bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-base' instead")
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
# Base this image on rpi-basic-image
|
# Base this image on core-image-base
|
||||||
include rpi-basic-image.bb
|
include recipes-core/images/core-image-base.bb
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
IMAGE_INSTALL_append = " packagegroup-rpi-test"
|
IMAGE_INSTALL_append = " packagegroup-rpi-test"
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# mesa-demos needs gles1 and userland driver does not have it, works ok with vc4 graphics driver
|
||||||
|
X11GLTOOLS_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mesa-demos', d)}"
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
DESCRIPTION = "RaspberryPi Test Packagegroup"
|
DESCRIPTION = "RaspberryPi Test Packagegroup"
|
||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
inherit packagegroup
|
inherit packagegroup
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
OMXPLAYER = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'omxplayer', d)}"
|
||||||
|
|
||||||
RDEPENDS_${PN} = "\
|
RDEPENDS_${PN} = "\
|
||||||
omxplayer \
|
${OMXPLAYER} \
|
||||||
bcm2835-tests \
|
bcm2835-tests \
|
||||||
wiringpi \
|
wiringpi \
|
||||||
rpio \
|
rpio \
|
||||||
|
|||||||
3
recipes-core/psplash/psplash_%.bbappend
Normal file
3
recipes-core/psplash/psplash_%.bbappend
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
||||||
|
SPLASH_IMAGES_append_rpi = " file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
|
||||||
|
ALTERNATIVE_PRIORITY_psplash-raspberrypi[psplash] = "200"
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
|
||||||
SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
|
|
||||||
14
recipes-core/udev/udev-rules-rpi.bb
Normal file
14
recipes-core/udev/udev-rules-rpi.bb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
DESCRIPTION = "udev rules for Raspberry Pi Boards"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
|
SRC_URI = " file://99-com.rules"
|
||||||
|
|
||||||
|
S = "${WORKDIR}"
|
||||||
|
|
||||||
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
|
do_install () {
|
||||||
|
install -d ${D}${sysconfdir}/udev/rules.d
|
||||||
|
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
|
||||||
|
}
|
||||||
21
recipes-core/udev/udev-rules-rpi/99-com.rules
Normal file
21
recipes-core/udev/udev-rules-rpi/99-com.rules
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
|
||||||
|
ALIASES=/proc/device-tree/aliases; \
|
||||||
|
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
|
||||||
|
echo 0;\
|
||||||
|
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
|
||||||
|
echo 1; \
|
||||||
|
else \
|
||||||
|
exit 1; \
|
||||||
|
fi\
|
||||||
|
'", SYMLINK+="serial%c"
|
||||||
|
|
||||||
|
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
|
||||||
|
ALIASES=/proc/device-tree/aliases; \
|
||||||
|
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
|
||||||
|
echo 0; \
|
||||||
|
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
|
||||||
|
echo 1; \
|
||||||
|
else \
|
||||||
|
exit 1; \
|
||||||
|
fi \
|
||||||
|
'", SYMLINK+="serial%c"
|
||||||
10
recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules
Normal file
10
recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
##############################################################################################################
|
||||||
|
|
||||||
|
# Partitions which desktops should not display
|
||||||
|
#
|
||||||
|
|
||||||
|
# boot partition
|
||||||
|
ENV{ID_FS_TYPE}=="vfat", ENV{ID_FS_LABEL}=="raspberrypi", \
|
||||||
|
ENV{UDISKS_PRESENTATION_HIDE}="1", ENV{UDISKS_IGNORE}="1"
|
||||||
|
|
||||||
|
##############################################################################################################
|
||||||
13
recipes-core/udev/udev-rules-udisks-rpi_1.0.bb
Normal file
13
recipes-core/udev/udev-rules-udisks-rpi_1.0.bb
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
DESCRIPTION = "add udisk/udev rule to hide boot partition from udev"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
SRC_URI = "file://80-udisks-rpi.rules"
|
||||||
|
|
||||||
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
|
do_install () {
|
||||||
|
install -d ${D}${base_libdir}/udev/rules.d
|
||||||
|
install -m 644 ${WORKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} = "${base_libdir}/udev/rules.d"
|
||||||
@@ -8,12 +8,12 @@ AUTHOR = "Mike McCauley (mikem@open.com.au)"
|
|||||||
LICENSE = "GPLv2"
|
LICENSE = "GPLv2"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
|
SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "258caf3437012d09a651e1852d0bd60c"
|
SRC_URI[md5sum] = "b5dc426b4ff258bb1397442f98e40236"
|
||||||
SRC_URI[sha256sum] = "52180b8a61b6546c1df4aed259d0a4d2fa56e50605e0d4d967a76bf2b23dafb8"
|
SRC_URI[sha256sum] = "b9fd10f7a80aadaed28a77168709b7c519568a63b6e98d0a50e9c5fe31bea6bb"
|
||||||
|
|
||||||
inherit autotools
|
inherit autotools
|
||||||
|
|
||||||
@@ -35,6 +35,8 @@ do_install_append() {
|
|||||||
|
|
||||||
PACKAGES += "${PN}-tests"
|
PACKAGES += "${PN}-tests"
|
||||||
|
|
||||||
|
RDEPENDS_${PN}-dev = ""
|
||||||
|
|
||||||
FILES_${PN} = ""
|
FILES_${PN} = ""
|
||||||
FILES_${PN}-tests = "${libdir}/${BPN}"
|
FILES_${PN}-tests = "${libdir}/${BPN}"
|
||||||
FILES_${PN}-dbg += "${libdir}/${BPN}/.debug"
|
FILES_${PN}-dbg += "${libdir}/${BPN}/.debug"
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From 6a6b705ff5cba960c54bdb4d4bcdaa3b00a854a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Sat, 11 Aug 2018 10:24:24 -0700
|
||||||
|
Subject: [PATCH] pi-blaster: Include sys/sysmacros.h for makedev()
|
||||||
|
|
||||||
|
In glibc 2.28+ this header is not included indirectly anymore
|
||||||
|
|
||||||
|
fixes
|
||||||
|
|
||||||
|
ld: pi-blaster.o: in function `mbox_open':
|
||||||
|
pi-blaster.c:(.text+0x28): undefined reference to `makedev'
|
||||||
|
collect2: error: ld returned 1 exit status
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/sarfata/pi-blaster/pull/100]
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
pi-blaster.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/pi-blaster.c b/pi-blaster.c
|
||||||
|
index 6cfd010..fc4e686 100644
|
||||||
|
--- a/pi-blaster.c
|
||||||
|
+++ b/pi-blaster.c
|
||||||
|
@@ -41,6 +41,7 @@ static char VERSION[] = "SNAPSHOT";
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
+#include <sys/sysmacros.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include "mailbox.h"
|
||||||
@@ -1,13 +1,28 @@
|
|||||||
Remove dependencies on LSB functions
|
From 1338f98a279616f4e5e9ea30a25d1dfa0c7df5d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
|
||||||
|
Date: Sun, 4 Jun 2017 12:22:40 +0200
|
||||||
|
Subject: [PATCH] Remove dependencies on LSB functions
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
See this as a rebase of the previous 'Remove dependencies on LSB
|
||||||
|
functions patch' with only minor modifications from the original version,
|
||||||
|
based on the work done by Alex Lennon <ajlennon@dynamicdevices.co.uk> in
|
||||||
|
'25fd817 pi-blaster: Added recipe'.
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [configuration]
|
Upstream-Status: Inappropriate [configuration]
|
||||||
|
|
||||||
Signed-off-by: Alex Lennon <ajlennon@dynamicdevices.co.uk>
|
Signed-off-by: Petter Mabäcker <petter@technux.se>
|
||||||
|
---
|
||||||
|
debian/pi-blaster.init | 38 +++++++-------------------------------
|
||||||
|
1 file changed, 7 insertions(+), 31 deletions(-)
|
||||||
|
|
||||||
diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
|
diff --git a/debian/pi-blaster.init b/debian/pi-blaster.init
|
||||||
--- git.org/pi-blaster.boot.sh 2014-05-20 14:49:44.378582168 +0100
|
index b142d70..01a686c 100644
|
||||||
+++ git/pi-blaster.boot.sh 2014-05-20 14:51:08.330582386 +0100
|
--- a/debian/pi-blaster.init
|
||||||
@@ -28,12 +28,12 @@
|
+++ b/debian/pi-blaster.init
|
||||||
|
@@ -28,12 +28,12 @@ SCRIPTNAME=/etc/init.d/$NAME
|
||||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||||
|
|
||||||
# Load the VERBOSE setting and other rcS variables
|
# Load the VERBOSE setting and other rcS variables
|
||||||
@@ -22,7 +37,7 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Function that starts the daemon/service
|
# Function that starts the daemon/service
|
||||||
@@ -77,48 +77,23 @@
|
@@ -77,48 +77,24 @@ do_stop()
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
@@ -52,6 +67,7 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
|
|||||||
# 'force-reload' alias
|
# 'force-reload' alias
|
||||||
#
|
#
|
||||||
- log_daemon_msg "Restarting $DESC" "$NAME"
|
- log_daemon_msg "Restarting $DESC" "$NAME"
|
||||||
|
+ echo "Restarting $DESC" "$NAME"
|
||||||
do_stop
|
do_stop
|
||||||
- case "$?" in
|
- case "$?" in
|
||||||
- 0|1)
|
- 0|1)
|
||||||
@@ -71,7 +87,10 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
||||||
+ echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
|
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
|
||||||
exit 3
|
exit 3
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
|
|
||||||
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
|
|
||||||
SECTION = "devel/libs"
|
|
||||||
LICENSE = "MIT"
|
|
||||||
LIC_FILES_CHKSUM = "file://README.md;beginline=157;endline=170;md5=f20832f31126609af5a7bf2340014540"
|
|
||||||
|
|
||||||
SRC_URI = "git://github.com/sarfata/pi-blaster \
|
|
||||||
file://remove-initscript-lsb-dependency.patch \
|
|
||||||
"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
inherit update-rc.d autotools
|
|
||||||
|
|
||||||
INITSCRIPT_PACKAGES = "${PN}"
|
|
||||||
INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
|
|
||||||
INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
|
||||||
|
|
||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
||||||
@@ -1,3 +1,24 @@
|
|||||||
require pi-blaster.inc
|
DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
|
||||||
|
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
|
||||||
|
SECTION = "devel/libs"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://README.md;beginline=244;endline=268;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
|
||||||
|
|
||||||
SRCREV = "ec5e1b4c6191d8f9a538497dbbb86f9cf0de7016"
|
SRC_URI = "git://github.com/sarfata/pi-blaster \
|
||||||
|
file://remove-initscript-lsb-dependency.patch \
|
||||||
|
file://0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
SRCREV = "e981aa5d7624c75a4d4afcddcbd235f25e32ffe4"
|
||||||
|
|
||||||
|
inherit update-rc.d autotools
|
||||||
|
|
||||||
|
INITSCRIPT_PACKAGES = "${PN}"
|
||||||
|
INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
|
||||||
|
INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|||||||
@@ -4,16 +4,12 @@ SECTION = "devel/python"
|
|||||||
LICENSE = "BSD"
|
LICENSE = "BSD"
|
||||||
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
|
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
|
||||||
|
|
||||||
SRCNAME = "sense-hat"
|
inherit setuptools pypi
|
||||||
|
|
||||||
SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
|
PYPI_PACKAGE = "sense-hat"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "71217f15ea963040f06e2f50722186ca"
|
SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
|
||||||
SRC_URI[sha256sum] = "c6c76707c0ea514e4b0f1f96f1b5b79755875891aae037df7434b6aad7b9dbca"
|
SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
|
||||||
|
|
||||||
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
|
||||||
|
|
||||||
inherit setuptools
|
|
||||||
|
|
||||||
DEPENDS += " \
|
DEPENDS += " \
|
||||||
jpeg \
|
jpeg \
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
|
|
||||||
HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
|
|
||||||
SECTION = "devel/python"
|
|
||||||
LICENSE = "MIT"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
|
|
||||||
|
|
||||||
SRCNAME = "RPi.GPIO"
|
|
||||||
|
|
||||||
SRC_URI = "\
|
|
||||||
http://pypi.python.org/packages/source/R/RPi.GPIO/${SRCNAME}-${PV}.tar.gz \
|
|
||||||
file://0001-Remove-nested-functions.patch \
|
|
||||||
"
|
|
||||||
SRC_URI[md5sum] = "254d0443a436eb241367c487274e7197"
|
|
||||||
SRC_URI[sha256sum] = "54e5fb06d9ea1a1389a497fb5a06dfa950c86303b0f4ba89b68c55999d1df064"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
|
||||||
|
|
||||||
inherit distutils
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
|
||||||
|
|
||||||
14
recipes-devtools/python/rpi-gpio_0.6.3.bb
Normal file
14
recipes-devtools/python/rpi-gpio_0.6.3.bb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
|
||||||
|
HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
|
||||||
|
SECTION = "devel/python"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
|
||||||
|
|
||||||
|
PYPI_PACKAGE = "RPi.GPIO"
|
||||||
|
inherit pypi distutils
|
||||||
|
|
||||||
|
SRC_URI += "file://0001-Remove-nested-functions.patch"
|
||||||
|
SRC_URI[md5sum] = "e4abe1cfb5eacebe53078032256eb837"
|
||||||
|
SRC_URI[sha256sum] = "a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
@@ -5,16 +5,19 @@ SECTION = "devel/python"
|
|||||||
LICENSE = "LGPLv3+"
|
LICENSE = "LGPLv3+"
|
||||||
LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
|
LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
|
||||||
|
|
||||||
SRCNAME = "RPIO"
|
PYPI_PACKAGE = "RPIO"
|
||||||
|
inherit pypi
|
||||||
|
|
||||||
SRC_URI = "http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
|
SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
|
||||||
file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch \
|
|
||||||
"
|
|
||||||
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
|
||||||
|
|
||||||
inherit setuptools
|
inherit setuptools
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
RDEPENDS_${PN} = "\
|
||||||
|
python-logging \
|
||||||
|
python-threading \
|
||||||
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
|
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
|
||||||
SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e"
|
SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e"
|
||||||
|
|||||||
16
recipes-devtools/raspi-gpio/raspi-gpio_git.bb
Normal file
16
recipes-devtools/raspi-gpio/raspi-gpio_git.bb
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
DESCRIPTION = "Tool to help debug / hack at the BCM283x GPIO"
|
||||||
|
HOMEPAGE = "https://github.com/RPi-Distro/raspi-gpio"
|
||||||
|
SECTION = "devel/libs"
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=a14affa234debc057b47cdca615b2192"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
inherit autotools
|
||||||
|
|
||||||
|
SRCREV = "2df7b8684e2e36b080cda315d78d5ba16f8f18b0"
|
||||||
|
SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
From 7f65eb37a82a6d9b095d9c8f262ad9dd205acd03 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Sat, 30 Jan 2016 16:57:38 -0800
|
|
||||||
Subject: [PATCH] include <asm/ioctl.h> directly for _IOC_SIZEBITS
|
|
||||||
|
|
||||||
Fixes errors like
|
|
||||||
| wiringPiSPI.c: In function 'wiringPiSPIDataRW':
|
|
||||||
| wiringPiSPI.c:89:35: error: '_IOC_SIZEBITS' undeclared (first use in
|
|
||||||
this function)
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Submitted
|
|
||||||
|
|
||||||
wiringPi/wiringPi.c | 1 +
|
|
||||||
wiringPi/wiringPiI2C.c | 1 +
|
|
||||||
wiringPi/wiringPiSPI.c | 1 +
|
|
||||||
3 files changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c
|
|
||||||
index 32e5100..cb5db9d 100644
|
|
||||||
--- a/wiringPi/wiringPi.c
|
|
||||||
+++ b/wiringPi/wiringPi.c
|
|
||||||
@@ -64,6 +64,7 @@
|
|
||||||
#include <time.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <pthread.h>
|
|
||||||
+#include <asm/ioctl.h>
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/mman.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
diff --git a/wiringPi/wiringPiI2C.c b/wiringPi/wiringPiI2C.c
|
|
||||||
index c787bce..efdf53c 100644
|
|
||||||
--- a/wiringPi/wiringPiI2C.c
|
|
||||||
+++ b/wiringPi/wiringPiI2C.c
|
|
||||||
@@ -52,6 +52,7 @@
|
|
||||||
#include <string.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
+#include <asm/ioctl.h>
|
|
||||||
|
|
||||||
#include "wiringPi.h"
|
|
||||||
#include "wiringPiI2C.h"
|
|
||||||
diff --git a/wiringPi/wiringPiSPI.c b/wiringPi/wiringPiSPI.c
|
|
||||||
index 453df31..ae3c7d9 100644
|
|
||||||
--- a/wiringPi/wiringPiSPI.c
|
|
||||||
+++ b/wiringPi/wiringPiSPI.c
|
|
||||||
@@ -27,6 +27,7 @@
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <string.h>
|
|
||||||
+#include <asm/ioctl.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
#include <linux/spi/spidev.h>
|
|
||||||
|
|
||||||
--
|
|
||||||
2.7.0
|
|
||||||
|
|
||||||
@@ -1,24 +1,33 @@
|
|||||||
From 6d85e6cc3ab97c3f060e5e0a8e3f1945a14c86ba Mon Sep 17 00:00:00 2001
|
From 32f3cad3c41161693659a902062fa0c01c0338ed Mon Sep 17 00:00:00 2001
|
||||||
From: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
|
From: ErikHH <erik.hoogeveen@outlook.com>
|
||||||
Date: Mon, 12 Oct 2015 12:15:51 +0200
|
Date: Thu, 20 Dec 2018 15:33:45 +0100
|
||||||
Subject: [PATCH] Add initial cross compile support (rebase from Petter Mabäcker <petter@technux.se> version)
|
Subject: [PATCH 1/1] Add initial cross compile support
|
||||||
|
|
||||||
|
Signed-off-by: ErikHH <erik.hoogeveen@outlook.com>
|
||||||
---
|
---
|
||||||
devLib/Makefile | 54 ++++++++++++++++++++++++-------------------
|
devLib/Makefile | 55 +++++++++++++++++++++----------------
|
||||||
examples/Gertboard/Makefile | 22 +++++++++++-------
|
examples/Gertboard/Makefile | 22 +++++++++------
|
||||||
examples/Makefile | 22 +++++++++++-------
|
examples/Makefile | 22 +++++++++------
|
||||||
examples/PiFace/Makefile | 22 +++++++++++-------
|
examples/PiFace/Makefile | 22 +++++++++------
|
||||||
examples/PiGlow/Makefile | 4 ++--
|
examples/PiGlow/Makefile | 4 +--
|
||||||
examples/q2w/Makefile | 4 ++--
|
examples/q2w/Makefile | 4 +--
|
||||||
gpio/Makefile | 29 ++++++++++++-----------
|
gpio/Makefile | 29 +++++++++----------
|
||||||
wiringPi/Makefile | 50 +++++++++++++++++++++------------------
|
wiringPi/Makefile | 47 +++++++++++++++++--------------
|
||||||
8 files changed, 119 insertions(+), 88 deletions(-)
|
8 files changed, 119 insertions(+), 86 deletions(-)
|
||||||
|
|
||||||
diff --git a/devLib/Makefile b/devLib/Makefile
|
diff --git a/devLib/Makefile b/devLib/Makefile
|
||||||
index 0fb0033..cbea759 100644
|
index cf665d6..d193a9d 100644
|
||||||
--- a/devLib/Makefile
|
--- a/devLib/Makefile
|
||||||
+++ b/devLib/Makefile
|
+++ b/devLib/Makefile
|
||||||
@@ -31,15 +31,19 @@ ifneq ($V,1)
|
@@ -22,6 +22,7 @@
|
||||||
|
#################################################################################
|
||||||
|
|
||||||
|
VERSION=$(shell cat ../VERSION)
|
||||||
|
+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
|
||||||
|
DESTDIR?=/usr
|
||||||
|
PREFIX?=/local
|
||||||
|
|
||||||
|
@@ -31,15 +32,19 @@ ifneq ($V,1)
|
||||||
Q ?= @
|
Q ?= @
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -46,7 +55,7 @@ index 0fb0033..cbea759 100644
|
|||||||
|
|
||||||
LIBS =
|
LIBS =
|
||||||
|
|
||||||
@@ -66,16 +70,16 @@ $(STATIC): $(OBJ)
|
@@ -68,16 +73,16 @@ $(STATIC): $(OBJ)
|
||||||
|
|
||||||
$(DYNAMIC): $(OBJ)
|
$(DYNAMIC): $(OBJ)
|
||||||
$Q echo "[Link (Dynamic)]"
|
$Q echo "[Link (Dynamic)]"
|
||||||
@@ -66,7 +75,7 @@ index 0fb0033..cbea759 100644
|
|||||||
|
|
||||||
.PHONY: tags
|
.PHONY: tags
|
||||||
tags: $(SRC)
|
tags: $(SRC)
|
||||||
@@ -86,22 +90,22 @@ tags: $(SRC)
|
@@ -88,22 +93,22 @@ tags: $(SRC)
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install: $(DYNAMIC)
|
install: $(DYNAMIC)
|
||||||
$Q echo "[Install Headers]"
|
$Q echo "[Install Headers]"
|
||||||
@@ -99,7 +108,7 @@ index 0fb0033..cbea759 100644
|
|||||||
|
|
||||||
.PHONY: install-deb
|
.PHONY: install-deb
|
||||||
install-deb: $(DYNAMIC)
|
install-deb: $(DYNAMIC)
|
||||||
@@ -116,9 +120,11 @@ install-deb: $(DYNAMIC)
|
@@ -118,9 +123,11 @@ install-deb: $(DYNAMIC)
|
||||||
.PHONY: uninstall
|
.PHONY: uninstall
|
||||||
uninstall:
|
uninstall:
|
||||||
$Q echo "[UnInstall]"
|
$Q echo "[UnInstall]"
|
||||||
@@ -148,7 +157,7 @@ index 1939ad6..98d1415 100644
|
|||||||
# Should not alter anything below this line
|
# Should not alter anything below this line
|
||||||
###############################################################################
|
###############################################################################
|
||||||
diff --git a/examples/Makefile b/examples/Makefile
|
diff --git a/examples/Makefile b/examples/Makefile
|
||||||
index e6b9b71..931b167 100644
|
index 6d87885..8623816 100644
|
||||||
--- a/examples/Makefile
|
--- a/examples/Makefile
|
||||||
+++ b/examples/Makefile
|
+++ b/examples/Makefile
|
||||||
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
||||||
@@ -162,7 +171,7 @@ index e6b9b71..931b167 100644
|
|||||||
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
||||||
-
|
-
|
||||||
-LDFLAGS = -L/usr/local/lib
|
-LDFLAGS = -L/usr/local/lib
|
||||||
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
|
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
|
||||||
+DESTDIR?=/usr
|
+DESTDIR?=/usr
|
||||||
+PREFIX?=/local
|
+PREFIX?=/local
|
||||||
+
|
+
|
||||||
@@ -176,12 +185,12 @@ index e6b9b71..931b167 100644
|
|||||||
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
||||||
+
|
+
|
||||||
+LDFLAGS ?= -L$(LIB_DIR)
|
+LDFLAGS ?= -L$(LIB_DIR)
|
||||||
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
|
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
|
||||||
|
|
||||||
# Should not alter anything below this line
|
# Should not alter anything below this line
|
||||||
###############################################################################
|
###############################################################################
|
||||||
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
|
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
|
||||||
index 4685adc..cfaf902 100644
|
index f937c14..ad030b3 100644
|
||||||
--- a/examples/PiFace/Makefile
|
--- a/examples/PiFace/Makefile
|
||||||
+++ b/examples/PiFace/Makefile
|
+++ b/examples/PiFace/Makefile
|
||||||
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
||||||
@@ -214,7 +223,7 @@ index 4685adc..cfaf902 100644
|
|||||||
# Should not alter anything below this line
|
# Should not alter anything below this line
|
||||||
###############################################################################
|
###############################################################################
|
||||||
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
|
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
|
||||||
index acd4818..dabd64e 100644
|
index f182db7..d1ea74f 100644
|
||||||
--- a/examples/PiGlow/Makefile
|
--- a/examples/PiGlow/Makefile
|
||||||
+++ b/examples/PiGlow/Makefile
|
+++ b/examples/PiGlow/Makefile
|
||||||
@@ -29,10 +29,10 @@ endif
|
@@ -29,10 +29,10 @@ endif
|
||||||
@@ -231,7 +240,7 @@ index acd4818..dabd64e 100644
|
|||||||
|
|
||||||
# Should not alter anything below this line
|
# Should not alter anything below this line
|
||||||
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
|
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
|
||||||
index 6f50fa0..c5e9f6e 100644
|
index 8f773bf..14aa6e4 100644
|
||||||
--- a/examples/q2w/Makefile
|
--- a/examples/q2w/Makefile
|
||||||
+++ b/examples/q2w/Makefile
|
+++ b/examples/q2w/Makefile
|
||||||
@@ -29,10 +29,10 @@ endif
|
@@ -29,10 +29,10 @@ endif
|
||||||
@@ -248,7 +257,7 @@ index 6f50fa0..c5e9f6e 100644
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
diff --git a/gpio/Makefile b/gpio/Makefile
|
diff --git a/gpio/Makefile b/gpio/Makefile
|
||||||
index 7dcd090..83ec454 100644
|
index 9ec160d..a294242 100644
|
||||||
--- a/gpio/Makefile
|
--- a/gpio/Makefile
|
||||||
+++ b/gpio/Makefile
|
+++ b/gpio/Makefile
|
||||||
@@ -30,13 +30,17 @@ ifneq ($V,1)
|
@@ -30,13 +30,17 @@ ifneq ($V,1)
|
||||||
@@ -259,7 +268,7 @@ index 7dcd090..83ec454 100644
|
|||||||
-DEBUG = -O2
|
-DEBUG = -O2
|
||||||
-CC = gcc
|
-CC = gcc
|
||||||
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include
|
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include
|
||||||
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
-CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
|
||||||
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
||||||
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
||||||
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
|
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
|
||||||
@@ -269,10 +278,10 @@ index 7dcd090..83ec454 100644
|
|||||||
+DEBUG ?= -O2
|
+DEBUG ?= -O2
|
||||||
+CC ?= gcc
|
+CC ?= gcc
|
||||||
+INCLUDE ?= -I$(INCLUDE_DIR)
|
+INCLUDE ?= -I$(INCLUDE_DIR)
|
||||||
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
+CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
|
||||||
+
|
+
|
||||||
+LDFLAGS ?= -L$(LIB_DIR)
|
+LDFLAGS ?= -L$(LIB_DIR)
|
||||||
LIBS = -lwiringPi -lwiringPiDev -lpthread
|
LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
|
||||||
|
|
||||||
# May not need to alter anything below this line
|
# May not need to alter anything below this line
|
||||||
@@ -72,13 +76,10 @@ tags: $(SRC)
|
@@ -72,13 +76,10 @@ tags: $(SRC)
|
||||||
@@ -284,8 +293,8 @@ index 7dcd090..83ec454 100644
|
|||||||
- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
|
- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
|
||||||
- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
|
- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
|
||||||
-endif
|
-endif
|
||||||
- $Q mkdir -p $(DESTDIR)$(PREFIX)/man/man1
|
- $Q mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
|
||||||
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/man/man1
|
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
|
||||||
+ $Q install -d $(BIN_DIR)
|
+ $Q install -d $(BIN_DIR)
|
||||||
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
|
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
|
||||||
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
|
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
|
||||||
@@ -293,20 +302,24 @@ index 7dcd090..83ec454 100644
|
|||||||
|
|
||||||
.PHONY: install-deb
|
.PHONY: install-deb
|
||||||
install-deb: gpio
|
install-deb: gpio
|
||||||
@@ -89,7 +90,7 @@ install-deb: gpio
|
@@ -91,7 +92,7 @@ install-deb: gpio
|
||||||
.PHONY: uninstall
|
.PHONY: uninstall
|
||||||
uninstall:
|
uninstall:
|
||||||
$Q echo "[UnInstall]"
|
$Q echo "[UnInstall]"
|
||||||
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
|
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
|
||||||
+ $Q rm -f $(BIN_DIR)/gpio
|
+ $Q rm -f $(BIN_DIR)/gpio
|
||||||
$Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
|
$Q rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
|
||||||
|
|
||||||
.PHONY: depend
|
.PHONY: depend
|
||||||
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
|
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
|
||||||
index 6bbcc5d..5355b74 100644
|
index 287fa58..3423d3f 100644
|
||||||
--- a/wiringPi/Makefile
|
--- a/wiringPi/Makefile
|
||||||
+++ b/wiringPi/Makefile
|
+++ b/wiringPi/Makefile
|
||||||
@@ -25,19 +25,23 @@ VERSION=$(shell cat ../VERSION)
|
@@ -22,25 +22,30 @@
|
||||||
|
#################################################################################
|
||||||
|
|
||||||
|
VERSION=$(shell cat ../VERSION)
|
||||||
|
+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
|
||||||
DESTDIR?=/usr
|
DESTDIR?=/usr
|
||||||
PREFIX?=/local
|
PREFIX?=/local
|
||||||
|
|
||||||
@@ -334,19 +347,24 @@ index 6bbcc5d..5355b74 100644
|
|||||||
+CC ?= gcc
|
+CC ?= gcc
|
||||||
+INCLUDE ?= -I.
|
+INCLUDE ?= -I.
|
||||||
DEFS = -D_GNU_SOURCE
|
DEFS = -D_GNU_SOURCE
|
||||||
CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
|
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC
|
||||||
|
-#CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Wconversion -Winline $(INCLUDE) -pipe -fPIC
|
||||||
|
+CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Winline -pipe -fPIC
|
||||||
|
+#CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Wconversion -Winline -pipe -fPIC
|
||||||
|
|
||||||
@@ -89,17 +93,17 @@ $(STATIC): $(OBJ)
|
LIBS = -lm -lpthread -lrt -lcrypt
|
||||||
|
|
||||||
|
@@ -75,17 +80,17 @@ static:
|
||||||
|
|
||||||
$(DYNAMIC): $(OBJ)
|
$(DYNAMIC): $(OBJ)
|
||||||
$Q echo "[Link (Dynamic)]"
|
$Q echo "[Link (Dynamic)]"
|
||||||
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) -lpthread $(OBJ)
|
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
|
||||||
+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
|
+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$Q echo [Compile] $<
|
$Q echo [Compile] $<
|
||||||
- $Q $(CC) -c $(CFLAGS) $< -o $@
|
- $Q $(CC) -c $(CFLAGS) $< -o $@
|
||||||
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
|
+ $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
@@ -357,7 +375,7 @@ index 6bbcc5d..5355b74 100644
|
|||||||
|
|
||||||
.PHONY: tags
|
.PHONY: tags
|
||||||
tags: $(SRC)
|
tags: $(SRC)
|
||||||
@@ -110,22 +114,22 @@ tags: $(SRC)
|
@@ -96,13 +101,13 @@ tags: $(SRC)
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install: $(DYNAMIC)
|
install: $(DYNAMIC)
|
||||||
$Q echo "[Install Headers]"
|
$Q echo "[Install Headers]"
|
||||||
@@ -375,22 +393,9 @@ index 6bbcc5d..5355b74 100644
|
|||||||
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
|
||||||
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
||||||
|
|
||||||
.PHONY: install-static
|
|
||||||
install-static: $(STATIC)
|
|
||||||
$Q echo "[Install Headers]"
|
|
||||||
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
|
|
||||||
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
|
|
||||||
+ $Q install -m 0755 -d $(INCLUDE_DIR)
|
|
||||||
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
|
|
||||||
$Q echo "[Install Static Lib]"
|
|
||||||
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
|
|
||||||
- $Q install -m 0755 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
|
|
||||||
+ $Q install -m 0755 -d $(LIB_DIR)
|
|
||||||
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
|
|
||||||
|
|
||||||
.PHONY: install-deb
|
.PHONY: install-deb
|
||||||
install-deb: $(DYNAMIC)
|
install-deb: $(DYNAMIC)
|
||||||
@@ -140,9 +144,11 @@ install-deb: $(DYNAMIC)
|
@@ -117,9 +122,11 @@ install-deb: $(DYNAMIC)
|
||||||
.PHONY: uninstall
|
.PHONY: uninstall
|
||||||
uninstall:
|
uninstall:
|
||||||
$Q echo "[UnInstall]"
|
$Q echo "[UnInstall]"
|
||||||
@@ -406,5 +411,5 @@ index 6bbcc5d..5355b74 100644
|
|||||||
|
|
||||||
.PHONY: depend
|
.PHONY: depend
|
||||||
--
|
--
|
||||||
2.1.4
|
2.19.1
|
||||||
|
|
||||||
@@ -4,17 +4,18 @@ SECTION = "devel/libs"
|
|||||||
LICENSE = "LGPLv3+"
|
LICENSE = "LGPLv3+"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
|
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
|
||||||
|
|
||||||
# tag 2.32
|
DEPENDS += "virtual/crypt"
|
||||||
SRCREV = "b0a60c3302973ca1878d149d61f2f612c8f27fac"
|
|
||||||
|
# tag 2.46
|
||||||
|
SRCREV = "8d188fa0e00bb8c6ff6eddd07bf92857e9bd533a"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
SRC_URI = "git://git.drogon.net/wiringPi \
|
SRC_URI = "git://git.drogon.net/wiringPi \
|
||||||
file://0001-Add-initial-cross-compile-support.patch \
|
file://0001-Add-initial-cross-compile-support.patch \
|
||||||
file://0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib "
|
CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib "
|
||||||
|
|
||||||
@@ -1 +1,2 @@
|
|||||||
EGLINFO_DEVICE_rpi = "raspberrypi"
|
EGLINFO_DEVICE_rpi = "raspberrypi"
|
||||||
|
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '(.*)', d)}"
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
EGLINFO_DEVICE_rpi = "raspberrypi"
|
EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
|
||||||
ASNEEDED = ""
|
ASNEEDED = ""
|
||||||
|
|||||||
2
recipes-graphics/kmscube/kmscube_%.bbappend
Normal file
2
recipes-graphics/kmscube/kmscube_%.bbappend
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# userland driver EGL implementation does not have all needed bits for it so remove it from build
|
||||||
|
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"
|
||||||
2
recipes-graphics/mesa/mesa-demos_%.bbappend
Normal file
2
recipes-graphics/mesa/mesa-demos_%.bbappend
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# mesa-demos need libgles1 and userland driver does not have it
|
||||||
|
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"
|
||||||
1
recipes-graphics/mesa/mesa-gl_%.bbappend
Normal file
1
recipes-graphics/mesa/mesa-gl_%.bbappend
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PACKAGECONFIG_append_rpi = " gbm"
|
||||||
7
recipes-graphics/mesa/mesa_%.bbappend
Normal file
7
recipes-graphics/mesa/mesa_%.bbappend
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# DRI3 note:
|
||||||
|
# With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
|
||||||
|
# as default. To state out clearly that Raspi needs dri3 and to avoid surprises
|
||||||
|
# in case oe-core changes this default, we set dri3 explicitly.
|
||||||
|
PACKAGECONFIG_append_rpi = " gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
|
||||||
|
GALLIUMDRIVERS_append_rpi = ",vc4"
|
||||||
|
DRIDRIVERS_rpi = ""
|
||||||
5
recipes-graphics/piglit/piglit_%.bbappend
Normal file
5
recipes-graphics/piglit/piglit_%.bbappend
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# mesa-demos need libgles1 and userland driver does not have it so remove it from piglit rdeps
|
||||||
|
RDEPENDS_${PN}_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mesa-demos', d)}"
|
||||||
|
# it needs EGL >= 11 but userland says it provided version 10, remove it from build
|
||||||
|
# | -- Requested 'egl >= 11.0' but version of EGL is 10
|
||||||
|
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 83c5ac5892d0cd29caa8922ff8b639b9a373c3cb Mon Sep 17 00:00:00 2001
|
From 08d56c1174e27573ae8df2a7b9e6632afd0bfe86 Mon Sep 17 00:00:00 2001
|
||||||
From: Dom Cobley <dc4@broadcom.com>
|
From: Dom Cobley <dc4@broadcom.com>
|
||||||
Date: Tue, 9 Jul 2013 09:26:26 -0400
|
Date: Tue, 9 Jul 2013 09:26:26 -0400
|
||||||
Subject: [PATCH 01/13] Allow applications to set next resource handle
|
Subject: [PATCH 01/18] Allow applications to set next resource handle
|
||||||
|
|
||||||
This patch adds provisions in userland to
|
This patch adds provisions in userland to
|
||||||
let apps callers set the next rendereing dispmanx resource.
|
let apps callers set the next rendereing dispmanx resource.
|
||||||
@@ -9,17 +9,17 @@ It's useful for implementing, say, a buffer carousel.
|
|||||||
---
|
---
|
||||||
interface/khronos/common/khrn_client_rpc.h | 2 ++
|
interface/khronos/common/khrn_client_rpc.h | 2 ++
|
||||||
interface/khronos/common/khrn_int_ids.h | 2 ++
|
interface/khronos/common/khrn_int_ids.h | 2 ++
|
||||||
interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++++++++++---
|
interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++---
|
||||||
interface/khronos/egl/egl_client_surface.c | 24 +++++++++++++++++++++++-
|
interface/khronos/egl/egl_client_surface.c | 24 ++++++++++++++++-
|
||||||
interface/khronos/egl/egl_client_surface.h | 3 ++-
|
interface/khronos/egl/egl_client_surface.h | 3 ++-
|
||||||
interface/khronos/egl/egl_int_impl.h | 5 +++--
|
interface/khronos/egl/egl_int_impl.h | 5 ++--
|
||||||
6 files changed, 59 insertions(+), 7 deletions(-)
|
6 files changed, 59 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h
|
diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h
|
||||||
index 418aa67..a7557a8 100644
|
index dc4351d..10ea060 100644
|
||||||
--- a/interface/khronos/common/khrn_client_rpc.h
|
--- a/interface/khronos/common/khrn_client_rpc.h
|
||||||
+++ b/interface/khronos/common/khrn_client_rpc.h
|
+++ b/interface/khronos/common/khrn_client_rpc.h
|
||||||
@@ -683,6 +683,7 @@ static INLINE void rpc_call12_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
|
@@ -685,6 +685,7 @@ static INLINE void rpc_call12_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
|
||||||
static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
||||||
static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
||||||
static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
|
||||||
@@ -27,7 +27,7 @@ index 418aa67..a7557a8 100644
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define RPC_CALL1_OUT_CTRL(fn, thread, id, out) rpc_call1_out_ctrl(thread, id, out)
|
#define RPC_CALL1_OUT_CTRL(fn, thread, id, out) rpc_call1_out_ctrl(thread, id, out)
|
||||||
@@ -700,6 +701,7 @@ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
|
@@ -702,6 +703,7 @@ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
|
||||||
#define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)
|
#define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)
|
||||||
#define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out)
|
#define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out)
|
||||||
#define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out)
|
#define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out)
|
||||||
@@ -56,7 +56,7 @@ index 8378f4a..ec961e0 100644
|
|||||||
#define EGLINTFLUSH_ID 0x400c
|
#define EGLINTFLUSH_ID 0x400c
|
||||||
#define EGLINTGETCOLORDATA_ID 0x400d
|
#define EGLINTGETCOLORDATA_ID 0x400d
|
||||||
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
||||||
index 472ef0c..234da65 100644
|
index 9d617c8..b8bb374 100644
|
||||||
--- a/interface/khronos/egl/egl_client.c
|
--- a/interface/khronos/egl/egl_client.c
|
||||||
+++ b/interface/khronos/egl/egl_client.c
|
+++ b/interface/khronos/egl/egl_client.c
|
||||||
@@ -162,6 +162,17 @@ static void egl_current_release(CLIENT_PROCESS_STATE_T *process, EGL_CURRENT_T *
|
@@ -162,6 +162,17 @@ static void egl_current_release(CLIENT_PROCESS_STATE_T *process, EGL_CURRENT_T *
|
||||||
@@ -125,7 +125,7 @@ index 472ef0c..234da65 100644
|
|||||||
thread,
|
thread,
|
||||||
EGLINTSWAPBUFFERS_ID,
|
EGLINTSWAPBUFFERS_ID,
|
||||||
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
||||||
index 0fa1fd1..0dc10e2 100644
|
index 6846dfa..128325e 100644
|
||||||
--- a/interface/khronos/egl/egl_client_surface.c
|
--- a/interface/khronos/egl/egl_client_surface.c
|
||||||
+++ b/interface/khronos/egl/egl_client_surface.c
|
+++ b/interface/khronos/egl/egl_client_surface.c
|
||||||
@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create(
|
@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create(
|
||||||
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
|
|||||||
|
|
||||||
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
|
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 79ce2b4125359593f37c5b9744a37203e24249de Mon Sep 17 00:00:00 2001
|
From da60a2a34a48e2b324fceae608964814488cc8fb Mon Sep 17 00:00:00 2001
|
||||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||||
Date: Tue, 1 Oct 2013 13:19:20 +0200
|
Date: Tue, 1 Oct 2013 13:19:20 +0200
|
||||||
Subject: [PATCH 02/13] wayland: Add support for the Wayland winsys
|
Subject: [PATCH 02/18] wayland: Add support for the Wayland winsys
|
||||||
|
|
||||||
* Adds EGL_WL_bind_wayland_display extension
|
* Adds EGL_WL_bind_wayland_display extension
|
||||||
* Adds wayland-egl library
|
* Adds wayland-egl library
|
||||||
@@ -16,37 +16,40 @@ a DispmanX display from the clients.
|
|||||||
TODO: wl_dispmanx_server_buffer should probably be defined in a
|
TODO: wl_dispmanx_server_buffer should probably be defined in a
|
||||||
private header that can be included from EGL and vc_* instead of in
|
private header that can be included from EGL and vc_* instead of in
|
||||||
vc_vchi_dispmanx.h
|
vc_vchi_dispmanx.h
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
.gitignore | 2 +
|
.gitignore | 1 +
|
||||||
CMakeLists.txt | 11 +
|
CMakeLists.txt | 11 +
|
||||||
README.md | 4 +
|
README.md | 4 +
|
||||||
buildme | 14 +-
|
buildme | 10 +-
|
||||||
interface/khronos/CMakeLists.txt | 52 ++++-
|
.../linux/apps/raspicam/CMakeLists.txt | 2 +-
|
||||||
|
interface/khronos/CMakeLists.txt | 54 +++-
|
||||||
interface/khronos/common/khrn_client.c | 15 ++
|
interface/khronos/common/khrn_client.c | 15 ++
|
||||||
interface/khronos/common/khrn_client.h | 10 +
|
interface/khronos/common/khrn_client.h | 10 +
|
||||||
interface/khronos/common/khrn_client_mangle.h | 3 +
|
interface/khronos/common/khrn_client_mangle.h | 3 +
|
||||||
interface/khronos/common/khrn_client_platform.h | 8 +
|
.../khronos/common/khrn_client_platform.h | 8 +
|
||||||
interface/khronos/common/khrn_client_unmangle.h | 3 +
|
.../khronos/common/khrn_client_unmangle.h | 3 +
|
||||||
.../common/linux/khrn_client_platform_linux.c | 115 ++++++++--
|
.../common/linux/khrn_client_platform_linux.c | 115 +++++++-
|
||||||
interface/khronos/common/linux/khrn_wayland.c | 215 ++++++++++++++++++
|
interface/khronos/common/linux/khrn_wayland.c | 215 +++++++++++++++
|
||||||
.../common/linux/khrn_wayland.h} | 46 +---
|
.../common/linux/khrn_wayland.h} | 46 +---
|
||||||
interface/khronos/egl/egl_client.c | 92 +++++---
|
interface/khronos/egl/egl_client.c | 92 +++++--
|
||||||
interface/khronos/egl/egl_client_get_proc.c | 11 +
|
interface/khronos/egl/egl_client_get_proc.c | 11 +
|
||||||
interface/khronos/egl/egl_client_surface.c | 42 +++-
|
interface/khronos/egl/egl_client_surface.c | 42 ++-
|
||||||
interface/khronos/egl/egl_client_surface.h | 38 +++-
|
interface/khronos/egl/egl_client_surface.h | 38 ++-
|
||||||
interface/khronos/egl/egl_int_impl.h | 2 +-
|
interface/khronos/egl/egl_int_impl.h | 2 +-
|
||||||
interface/khronos/ext/egl_wayland.c | 246 +++++++++++++++++++++
|
interface/khronos/ext/egl_wayland.c | 246 ++++++++++++++++++
|
||||||
interface/khronos/include/EGL/eglext.h | 23 ++
|
interface/khronos/include/EGL/eglext.h | 23 ++
|
||||||
interface/khronos/wayland-egl/wayland-egl-priv.h | 53 +++++
|
.../khronos/wayland-egl/wayland-egl-priv.h | 53 ++++
|
||||||
interface/khronos/wayland-egl/wayland-egl.c | 59 +++++
|
interface/khronos/wayland-egl/wayland-egl.c | 59 +++++
|
||||||
interface/khronos/wayland-egl/wayland-egl.pc.in | 10 +
|
.../khronos/wayland-egl/wayland-egl.pc.in | 10 +
|
||||||
interface/vmcs_host/CMakeLists.txt | 21 +-
|
interface/vmcs_host/CMakeLists.txt | 21 +-
|
||||||
interface/vmcs_host/vc_dispmanx.h | 10 +
|
interface/vmcs_host/vc_dispmanx.h | 10 +
|
||||||
interface/vmcs_host/vc_vchi_dispmanx.c | 42 ++++
|
interface/vmcs_host/vc_vchi_dispmanx.c | 42 +++
|
||||||
interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++
|
interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++
|
||||||
interface/wayland/dispmanx.xml | 123 +++++++++++
|
interface/wayland/dispmanx.xml | 123 +++++++++
|
||||||
makefiles/cmake/Wayland.cmake | 72 ++++++
|
makefiles/cmake/Wayland.cmake | 72 +++++
|
||||||
29 files changed, 1260 insertions(+), 97 deletions(-)
|
30 files changed, 1257 insertions(+), 99 deletions(-)
|
||||||
create mode 100644 interface/khronos/common/linux/khrn_wayland.c
|
create mode 100644 interface/khronos/common/linux/khrn_wayland.c
|
||||||
copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%)
|
copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%)
|
||||||
create mode 100644 interface/khronos/ext/egl_wayland.c
|
create mode 100644 interface/khronos/ext/egl_wayland.c
|
||||||
@@ -57,20 +60,19 @@ vc_vchi_dispmanx.h
|
|||||||
create mode 100644 makefiles/cmake/Wayland.cmake
|
create mode 100644 makefiles/cmake/Wayland.cmake
|
||||||
|
|
||||||
diff --git a/.gitignore b/.gitignore
|
diff --git a/.gitignore b/.gitignore
|
||||||
index 8df9393..d0d1387 100644
|
index 63570f1..1459436 100644
|
||||||
--- a/.gitignore
|
--- a/.gitignore
|
||||||
+++ b/.gitignore
|
+++ b/.gitignore
|
||||||
@@ -10,3 +10,5 @@
|
@@ -30,3 +30,4 @@ build/
|
||||||
*.lai
|
*.pts
|
||||||
*.la
|
*.ppm
|
||||||
*.a
|
*.mkv
|
||||||
+
|
|
||||||
+*~
|
+*~
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
index 3113618..56b7fb8 100644
|
index cfc8ae5..673a5ad 100644
|
||||||
--- a/CMakeLists.txt
|
--- a/CMakeLists.txt
|
||||||
+++ b/CMakeLists.txt
|
+++ b/CMakeLists.txt
|
||||||
@@ -19,6 +19,17 @@ include(makefiles/cmake/global_settings.cmake)
|
@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake)
|
||||||
include(makefiles/cmake/arm-linux.cmake)
|
include(makefiles/cmake/arm-linux.cmake)
|
||||||
include(makefiles/cmake/vmcs.cmake)
|
include(makefiles/cmake/vmcs.cmake)
|
||||||
|
|
||||||
@@ -89,23 +91,24 @@ index 3113618..56b7fb8 100644
|
|||||||
|
|
||||||
# Global include paths
|
# Global include paths
|
||||||
diff --git a/README.md b/README.md
|
diff --git a/README.md b/README.md
|
||||||
index 358d2b4..4da4448 100644
|
index 94b93b8..50b90b1 100644
|
||||||
--- a/README.md
|
--- a/README.md
|
||||||
+++ b/README.md
|
+++ b/README.md
|
||||||
@@ -4,3 +4,7 @@ EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.
|
@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
|
||||||
|
|
||||||
Use buildme to build. It requires cmake to be installed and an arm cross compiler. It is set up to use this one:
|
|
||||||
https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
|
https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
|
||||||
|
|
||||||
|
Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
|
||||||
+
|
+
|
||||||
+To build support for the Wayland winsys in EGL, execute the buildme script like this:
|
+To build support for the Wayland winsys in EGL, execute the buildme script like this:
|
||||||
+
|
+
|
||||||
+$ BUILD_WAYLAND=1 ./buildme.
|
+$ BUILD_WAYLAND=1 ./buildme.
|
||||||
diff --git a/buildme b/buildme
|
diff --git a/buildme b/buildme
|
||||||
index d5d3de9..c46f214 100755
|
index b8fd440..a780bb6 100755
|
||||||
--- a/buildme
|
--- a/buildme
|
||||||
+++ b/buildme
|
+++ b/buildme
|
||||||
@@ -1,10 +1,14 @@
|
@@ -8,6 +8,10 @@ fi
|
||||||
#!/bin/bash
|
|
||||||
|
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
|
||||||
|
|
||||||
+if [ -n "$BUILD_WAYLAND" ]; then
|
+if [ -n "$BUILD_WAYLAND" ]; then
|
||||||
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
|
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
|
||||||
@@ -113,32 +116,37 @@ index d5d3de9..c46f214 100755
|
|||||||
+
|
+
|
||||||
if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
|
if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
|
||||||
# Native compile on the Raspberry Pi
|
# Native compile on the Raspberry Pi
|
||||||
mkdir -p build/raspberry/release
|
mkdir -p build/raspberry/$BUILDSUBDIR
|
||||||
pushd build/raspberry/release
|
@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
|
||||||
- cmake -DCMAKE_BUILD_TYPE=Release ../../..
|
make -j `nproc` $*
|
||||||
+ cmake -DCMAKE_BUILD_TYPE=Release $WAYLAND_VARS ../../..
|
|
||||||
if [ "armv6l" = `arch` ]; then
|
|
||||||
make
|
|
||||||
else
|
|
||||||
@@ -17,9 +21,15 @@ if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# Cross compile on a more capable machine
|
# Cross compile on a more capable machine
|
||||||
+
|
|
||||||
+ if [ -n "$BUILD_WAYLAND" ]; then
|
+ if [ -n "$BUILD_WAYLAND" ]; then
|
||||||
+ # Use wayland-scanner from the build platform
|
+ # Use wayland-scanner from the build platform
|
||||||
+ WAYLAND_VARS+=" -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=/usr/bin/wayland-scanner"
|
+ WAYLAND_VARS+=" -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=/usr/bin/wayland-scanner"
|
||||||
+ fi
|
+ fi
|
||||||
+
|
mkdir -p build/arm-linux/$BUILDSUBDIR
|
||||||
mkdir -p build/arm-linux/release/
|
pushd build/arm-linux/$BUILDSUBDIR
|
||||||
pushd build/arm-linux/release/
|
- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
|
||||||
- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=Release ../../..
|
+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
|
||||||
+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=Release $WAYLAND_VARS ../../..
|
make -j `nproc`
|
||||||
make -j 6
|
|
||||||
|
|
||||||
if [ "$1" != "" ]; then
|
if [ "$1" != "" ]; then
|
||||||
|
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
|
||||||
|
index 42636e8..d47ad55 100644
|
||||||
|
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
|
||||||
|
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
|
||||||
|
@@ -33,7 +33,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
|
||||||
|
|
||||||
|
set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
|
||||||
|
|
||||||
|
-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl)
|
||||||
|
+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
|
||||||
|
target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host)
|
||||||
|
target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host)
|
||||||
|
target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host)
|
||||||
diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
|
diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
|
||||||
index c437291..6778e10 100644
|
index 9ad615b..95c0e11 100644
|
||||||
--- a/interface/khronos/CMakeLists.txt
|
--- a/interface/khronos/CMakeLists.txt
|
||||||
+++ b/interface/khronos/CMakeLists.txt
|
+++ b/interface/khronos/CMakeLists.txt
|
||||||
@@ -6,6 +6,12 @@
|
@@ -6,6 +6,12 @@
|
||||||
@@ -154,7 +162,7 @@ index c437291..6778e10 100644
|
|||||||
set(EGL_SOURCE
|
set(EGL_SOURCE
|
||||||
egl/egl_client_config.c
|
egl/egl_client_config.c
|
||||||
egl/egl_client_context.c
|
egl/egl_client_context.c
|
||||||
@@ -55,19 +61,63 @@ set(CLIENT_SOURCE
|
@@ -55,12 +61,55 @@ set(CLIENT_SOURCE
|
||||||
common/khrn_int_hash_asm.s
|
common/khrn_int_hash_asm.s
|
||||||
common/khrn_client_cache.c)
|
common/khrn_client_cache.c)
|
||||||
|
|
||||||
@@ -162,8 +170,7 @@ index c437291..6778e10 100644
|
|||||||
+ khrn_client
|
+ khrn_client
|
||||||
+ vchiq_arm
|
+ vchiq_arm
|
||||||
+ vcos
|
+ vcos
|
||||||
+ bcm_host
|
+ bcm_host)
|
||||||
+ -lm)
|
|
||||||
+
|
+
|
||||||
+if (BUILD_WAYLAND)
|
+if (BUILD_WAYLAND)
|
||||||
+ set(EGL_SOURCE
|
+ set(EGL_SOURCE
|
||||||
@@ -211,16 +218,27 @@ index c437291..6778e10 100644
|
|||||||
# TODO do we need EGL_static and GLESv2_static now that khrn_static exists?
|
# TODO do we need EGL_static and GLESv2_static now that khrn_static exists?
|
||||||
add_library(EGL_static STATIC ${EGL_SOURCE})
|
add_library(EGL_static STATIC ${EGL_SOURCE})
|
||||||
add_library(GLESv2_static STATIC ${GLES_SOURCE})
|
add_library(GLESv2_static STATIC ${GLES_SOURCE})
|
||||||
add_library(khrn_static STATIC
|
@@ -72,8 +121,7 @@ include_directories (../../host_applications/linux/libs/sm )
|
||||||
${EGL_SOURCE} ${GLES_SOURCE} ${VG_SOURCE} ${WFC_SOURCE} ${CLIENT_SOURCE})
|
set(VCSM_LIBS vcsm)
|
||||||
|
add_definitions(-DKHRONOS_HAVE_VCSM)
|
||||||
-target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host -lm)
|
endif()
|
||||||
+target_link_libraries(EGL ${EGL_LIBS})
|
-
|
||||||
|
-target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
|
||||||
|
+target_link_libraries(EGL ${EGL_LIBS} ${VCSM_LIBS} -lm)
|
||||||
target_link_libraries(GLESv2 EGL khrn_client vcos)
|
target_link_libraries(GLESv2 EGL khrn_client vcos)
|
||||||
target_link_libraries(WFC EGL)
|
target_link_libraries(WFC EGL)
|
||||||
target_link_libraries(OpenVG EGL)
|
target_link_libraries(OpenVG EGL)
|
||||||
|
@@ -87,7 +135,7 @@ add_library(brcmGLESv2 ${SHARED} ${GLES_SOURCE})
|
||||||
|
add_library(brcmOpenVG ${SHARED} ${VG_SOURCE})
|
||||||
|
add_library(brcmWFC ${SHARED} ${WFC_SOURCE})
|
||||||
|
|
||||||
|
-target_link_libraries(brcmEGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
|
||||||
|
+target_link_libraries(brcmEGL ${EGL_LIBS} ${VCSM_LIBS} -lm)
|
||||||
|
target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos)
|
||||||
|
target_link_libraries(brcmWFC brcmEGL)
|
||||||
|
target_link_libraries(brcmOpenVG brcmEGL)
|
||||||
diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
|
diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
|
||||||
index e38a85f..783a68e 100644
|
index ef4babd..d7e798e 100644
|
||||||
--- a/interface/khronos/common/khrn_client.c
|
--- a/interface/khronos/common/khrn_client.c
|
||||||
+++ b/interface/khronos/common/khrn_client.c
|
+++ b/interface/khronos/common/khrn_client.c
|
||||||
@@ -54,6 +54,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -54,6 +54,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
@@ -333,7 +351,7 @@ index 4f3ce49..84f6ec0 100644
|
|||||||
/* OpenGL ES 1.1 and 2.0 functions */
|
/* OpenGL ES 1.1 and 2.0 functions */
|
||||||
|
|
||||||
diff --git a/interface/khronos/common/linux/khrn_client_platform_linux.c b/interface/khronos/common/linux/khrn_client_platform_linux.c
|
diff --git a/interface/khronos/common/linux/khrn_client_platform_linux.c b/interface/khronos/common/linux/khrn_client_platform_linux.c
|
||||||
index 9d43d15..00821d3 100644
|
index 710d20f..50d60a6 100644
|
||||||
--- a/interface/khronos/common/linux/khrn_client_platform_linux.c
|
--- a/interface/khronos/common/linux/khrn_client_platform_linux.c
|
||||||
+++ b/interface/khronos/common/linux/khrn_client_platform_linux.c
|
+++ b/interface/khronos/common/linux/khrn_client_platform_linux.c
|
||||||
@@ -37,6 +37,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -37,6 +37,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
@@ -348,7 +366,7 @@ index 9d43d15..00821d3 100644
|
|||||||
extern VCOS_LOG_CAT_T khrn_client_log;
|
extern VCOS_LOG_CAT_T khrn_client_log;
|
||||||
|
|
||||||
extern void vc_vchi_khronos_init();
|
extern void vc_vchi_khronos_init();
|
||||||
@@ -460,13 +465,36 @@ EGLDisplay khrn_platform_set_display_id(EGLNativeDisplayType display_id)
|
@@ -464,13 +469,36 @@ EGLDisplay khrn_platform_set_display_id(EGLNativeDisplayType display_id)
|
||||||
return EGL_NO_DISPLAY;
|
return EGL_NO_DISPLAY;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@@ -387,7 +405,7 @@ index 9d43d15..00821d3 100644
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WANT_X
|
#ifdef WANT_X
|
||||||
@@ -801,22 +829,81 @@ static EGL_DISPMANX_WINDOW_T *check_default(EGLNativeWindowType win)
|
@@ -805,22 +833,81 @@ static EGL_DISPMANX_WINDOW_T *check_default(EGLNativeWindowType win)
|
||||||
void platform_get_dimensions(EGLDisplay dpy, EGLNativeWindowType win,
|
void platform_get_dimensions(EGLDisplay dpy, EGLNativeWindowType win,
|
||||||
uint32_t *width, uint32_t *height, uint32_t *swapchain_count)
|
uint32_t *width, uint32_t *height, uint32_t *swapchain_count)
|
||||||
{
|
{
|
||||||
@@ -767,7 +785,7 @@ index b723b76..b9bf08c 100644
|
|||||||
-#endif
|
-#endif
|
||||||
+struct wl_dispmanx_client_buffer *allocate_wl_buffer(struct wl_egl_window *window, KHRN_IMAGE_FORMAT_T color);
|
+struct wl_dispmanx_client_buffer *allocate_wl_buffer(struct wl_egl_window *window, KHRN_IMAGE_FORMAT_T color);
|
||||||
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
||||||
index 234da65..024f3ed 100644
|
index b8bb374..03fe67b 100644
|
||||||
--- a/interface/khronos/egl/egl_client.c
|
--- a/interface/khronos/egl/egl_client.c
|
||||||
+++ b/interface/khronos/egl/egl_client.c
|
+++ b/interface/khronos/egl/egl_client.c
|
||||||
@@ -153,6 +153,10 @@ by an attribute value"
|
@@ -153,6 +153,10 @@ by an attribute value"
|
||||||
@@ -799,16 +817,16 @@ index 234da65..024f3ed 100644
|
|||||||
/*
|
/*
|
||||||
TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
|
TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
|
||||||
Also affects global image (and possibly others?)
|
Also affects global image (and possibly others?)
|
||||||
@@ -451,6 +444,9 @@ EGLAPI const char EGLAPIENTRY * eglQueryString(EGLDisplay dpy, EGLint name)
|
@@ -450,6 +443,9 @@ EGLAPI const char EGLAPIENTRY * eglQueryString(EGLDisplay dpy, EGLint name)
|
||||||
|
#ifdef EGL_KHR_fence_sync
|
||||||
"EGL_KHR_fence_sync "
|
"EGL_KHR_fence_sync "
|
||||||
#endif
|
#endif
|
||||||
#endif
|
+#endif
|
||||||
+#if EGL_WL_bind_wayland_display
|
+#if EGL_WL_bind_wayland_display
|
||||||
+ "EGL_WL_bind_wayland_display "
|
+ "EGL_WL_bind_wayland_display "
|
||||||
+#endif
|
#endif
|
||||||
;
|
;
|
||||||
break;
|
break;
|
||||||
case EGL_VENDOR:
|
|
||||||
@@ -655,8 +651,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c
|
@@ -655,8 +651,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c
|
||||||
false,
|
false,
|
||||||
EGL_NO_TEXTURE,
|
EGL_NO_TEXTURE,
|
||||||
@@ -941,7 +959,7 @@ index 4cfa9ff..6a715af 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
||||||
index 0dc10e2..49cf7e5 100644
|
index 128325e..42350bf 100644
|
||||||
--- a/interface/khronos/egl/egl_client_surface.c
|
--- a/interface/khronos/egl/egl_client_surface.c
|
||||||
+++ b/interface/khronos/egl/egl_client_surface.c
|
+++ b/interface/khronos/egl/egl_client_surface.c
|
||||||
@@ -46,6 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -46,6 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
@@ -1533,7 +1551,7 @@ index 0000000..8bafc15
|
|||||||
+Libs: -L${libdir} -lwayland-egl
|
+Libs: -L${libdir} -lwayland-egl
|
||||||
+Cflags: -I${includedir}
|
+Cflags: -I${includedir}
|
||||||
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
||||||
index e0c6e13..35150ed 100755
|
index fde18da..6718215 100755
|
||||||
--- a/interface/vmcs_host/CMakeLists.txt
|
--- a/interface/vmcs_host/CMakeLists.txt
|
||||||
+++ b/interface/vmcs_host/CMakeLists.txt
|
+++ b/interface/vmcs_host/CMakeLists.txt
|
||||||
@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
|
@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
|
||||||
@@ -1542,12 +1560,12 @@ index e0c6e13..35150ed 100755
|
|||||||
|
|
||||||
-add_library(vchostif
|
-add_library(vchostif
|
||||||
- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
|
- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
|
||||||
- vc_vchi_gencmd.c vc_vchi_filesys.c
|
- vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c
|
||||||
- vc_vchi_tvservice.c vc_vchi_cecservice.c
|
- vc_vchi_tvservice.c vc_vchi_cecservice.c
|
||||||
- vc_vchi_dispmanx.c vc_service_common.c)
|
- vc_vchi_dispmanx.c vc_service_common.c)
|
||||||
+set(VCHOSTIF_SOURCE
|
+set(VCHOSTIF_SOURCE
|
||||||
+ ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
|
+ ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
|
||||||
+ vc_vchi_gencmd.c vc_vchi_filesys.c
|
+ vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c
|
||||||
+ vc_vchi_tvservice.c vc_vchi_cecservice.c
|
+ vc_vchi_tvservice.c vc_vchi_cecservice.c
|
||||||
+ vc_vchi_dispmanx.c vc_service_common.c)
|
+ vc_vchi_dispmanx.c vc_service_common.c)
|
||||||
# ${VMCS_TARGET}/vmcs_main.c
|
# ${VMCS_TARGET}/vmcs_main.c
|
||||||
@@ -1595,10 +1613,10 @@ index 37fdae1..fe3619a 100755
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
|
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
index d188068..3e668f5 100755
|
index 7a6cdcd..eab146e 100755
|
||||||
--- a/interface/vmcs_host/vc_vchi_dispmanx.c
|
--- a/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
|
+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
@@ -1316,3 +1316,45 @@ static void *dispmanx_notify_func( void *arg ) {
|
@@ -1319,3 +1319,45 @@ static void *dispmanx_notify_func( void *arg ) {
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1876,5 +1894,5 @@ index 0000000..ad90d30
|
|||||||
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
|
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
|
||||||
+endfunction()
|
+endfunction()
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
From b6ee187184456d66095146e3dc06b6baa29c17d7 Mon Sep 17 00:00:00 2001
|
From 976cc9355fe18487cd84e313e76f397ab47a4bf8 Mon Sep 17 00:00:00 2001
|
||||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||||
Date: Tue, 1 Oct 2013 13:19:20 +0200
|
Date: Tue, 1 Oct 2013 13:19:20 +0200
|
||||||
Subject: [PATCH 03/13] wayland: Add Wayland example
|
Subject: [PATCH 03/18] wayland: Add Wayland example
|
||||||
|
|
||||||
---
|
---
|
||||||
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
|
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
|
||||||
.../apps/hello_pi/hello_wayland/CMakeLists.txt | 8 +
|
.../hello_pi/hello_wayland/CMakeLists.txt | 8 +
|
||||||
.../apps/hello_pi/hello_wayland/Djenne_128_128.raw | 3 +
|
.../hello_pi/hello_wayland/Djenne_128_128.raw | 3 +
|
||||||
.../linux/apps/hello_pi/hello_wayland/Makefile | 5 +
|
.../apps/hello_pi/hello_wayland/Makefile | 5 +
|
||||||
.../hello_wayland/cube_texture_and_coords.h | 100 ++++
|
.../hello_wayland/cube_texture_and_coords.h | 100 +++
|
||||||
.../linux/apps/hello_pi/hello_wayland/triangle.c | 666 +++++++++++++++++++++
|
.../apps/hello_pi/hello_wayland/triangle.c | 666 ++++++++++++++++++
|
||||||
host_applications/linux/apps/hello_pi/rebuild.sh | 3 +-
|
.../linux/apps/hello_pi/rebuild.sh | 3 +-
|
||||||
7 files changed, 785 insertions(+), 1 deletion(-)
|
7 files changed, 785 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
|
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
|
||||||
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
|
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
|
||||||
@@ -844,23 +844,23 @@ index 0000000..1a7bfc4
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
|
diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
|
||||||
index fa4539e..37120ac 100755
|
index 8225dd5..0be6ce7 100755
|
||||||
--- a/host_applications/linux/apps/hello_pi/rebuild.sh
|
--- a/host_applications/linux/apps/hello_pi/rebuild.sh
|
||||||
+++ b/host_applications/linux/apps/hello_pi/rebuild.sh
|
+++ b/host_applications/linux/apps/hello_pi/rebuild.sh
|
||||||
@@ -13,6 +13,7 @@ make -C hello_jpeg clean
|
@@ -14,6 +14,7 @@ make -C hello_videocube clean
|
||||||
make -C hello_videocube clean
|
|
||||||
make -C hello_teapot clean
|
make -C hello_teapot clean
|
||||||
make -C hello_fft clean
|
make -C hello_fft clean
|
||||||
|
make -C hello_mmal_encode clean
|
||||||
+make -C hello_wayland clean
|
+make -C hello_wayland clean
|
||||||
|
|
||||||
make -C libs/ilclient
|
make -C libs/ilclient
|
||||||
make -C libs/vgfont
|
make -C libs/vgfont
|
||||||
@@ -29,4 +30,4 @@ make -C hello_jpeg
|
@@ -31,4 +32,4 @@ make -C hello_videocube
|
||||||
make -C hello_videocube
|
|
||||||
make -C hello_teapot
|
make -C hello_teapot
|
||||||
make -C hello_fft
|
make -C hello_fft
|
||||||
|
make -C hello_mmal_encode
|
||||||
-
|
-
|
||||||
+make -C hello_wayland
|
+make -C hello_wayland
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From e3df3fec01aefac3ec301f6f3d5ec3e91652b9c5 Mon Sep 17 00:00:00 2001
|
From c379bd2dc575256084d9e36fc11a347e20660130 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Mon, 10 Aug 2015 02:38:27 -0700
|
Date: Mon, 10 Aug 2015 02:38:27 -0700
|
||||||
Subject: [PATCH 04/13] wayland-egl: Add bcm_host to dependencies
|
Subject: [PATCH 04/18] wayland-egl: Add bcm_host to dependencies
|
||||||
|
|
||||||
It uses headers like vcos_platform_types.h but does not
|
It uses headers like vcos_platform_types.h but does not
|
||||||
depend on module which should add the required include paths
|
depend on module which should add the required include paths
|
||||||
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
|
|||||||
Libs: -L${libdir} -lwayland-egl
|
Libs: -L${libdir} -lwayland-egl
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
From bd940c32878d401f311215270579ff513c2f3999 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||||
|
Date: Sat, 24 Jan 2015 22:07:19 +0100
|
||||||
|
Subject: [PATCH 05/18] interface: remove faulty assert() to make weston happy
|
||||||
|
at runtime
|
||||||
|
|
||||||
|
This was removed after a discussion on IRC with the weston guys
|
||||||
|
('daniels' on irc.freenode.net/#wayland).
|
||||||
|
|
||||||
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||||
|
---
|
||||||
|
interface/vmcs_host/vc_vchi_dispmanx.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
|
index eab146e..29e0dee 100755
|
||||||
|
--- a/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
|
+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
|
||||||
|
@@ -1306,7 +1306,6 @@ static void *dispmanx_notify_func( void *arg ) {
|
||||||
|
// Decrement the use count - the corresponding "use" is in vc_dispmanx_update_submit.
|
||||||
|
vchi_service_release(dispmanx_client.notify_handle[0]);
|
||||||
|
if (dispmanx_client.update_callback ) {
|
||||||
|
- vcos_assert( dispmanx_client.pending_update_handle == handle);
|
||||||
|
dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From e3ffe9438fe8417586d0045d00eb1368ca3a71b6 Mon Sep 17 00:00:00 2001
|
From 466f28ce302f68ac39be750f4b55285791f43ab1 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 6 Feb 2016 11:10:47 -0800
|
Date: Sat, 6 Feb 2016 11:10:47 -0800
|
||||||
Subject: [PATCH 06/13] zero-out wl buffers in egl_surface_free
|
Subject: [PATCH 06/18] zero-out wl buffers in egl_surface_free
|
||||||
|
|
||||||
origins from buildroot
|
origins from buildroot
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
||||||
index 49cf7e5..512c83b 100644
|
index 42350bf..1f923d9 100644
|
||||||
--- a/interface/khronos/egl/egl_client_surface.c
|
--- a/interface/khronos/egl/egl_client_surface.c
|
||||||
+++ b/interface/khronos/egl/egl_client_surface.c
|
+++ b/interface/khronos/egl/egl_client_surface.c
|
||||||
@@ -690,11 +690,13 @@ void egl_surface_free(EGL_SURFACE_T *surface)
|
@@ -690,11 +690,13 @@ void egl_surface_free(EGL_SURFACE_T *surface)
|
||||||
@@ -29,5 +29,5 @@ index 49cf7e5..512c83b 100644
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From ed31a6a206c9e205bd5316e95788e5d7bb837e38 Mon Sep 17 00:00:00 2001
|
From b4a2967513f7d0f5f3caee8cf6cbc7a7a085ebac Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 6 Feb 2016 11:11:41 -0800
|
Date: Sat, 6 Feb 2016 11:11:41 -0800
|
||||||
Subject: [PATCH 07/13] initialize front back wayland buffers
|
Subject: [PATCH 07/18] initialize front back wayland buffers
|
||||||
|
|
||||||
origins from metrological wayland support
|
origins from metrological wayland support
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
||||||
index 512c83b..a429724 100644
|
index 1f923d9..9a9582c 100644
|
||||||
--- a/interface/khronos/egl/egl_client_surface.c
|
--- a/interface/khronos/egl/egl_client_surface.c
|
||||||
+++ b/interface/khronos/egl/egl_client_surface.c
|
+++ b/interface/khronos/egl/egl_client_surface.c
|
||||||
@@ -401,11 +401,14 @@ EGL_SURFACE_T *egl_surface_create(
|
@@ -401,11 +401,14 @@ EGL_SURFACE_T *egl_surface_create(
|
||||||
@@ -30,5 +30,5 @@ index 512c83b..a429724 100644
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 6e173040a825185013ccbbb33113442207f10eeb Mon Sep 17 00:00:00 2001
|
From 14c22987dfa9fec02794856cd15b2d64b4b81c32 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 6 Feb 2016 11:09:18 -0800
|
Date: Sat, 6 Feb 2016 11:09:18 -0800
|
||||||
Subject: [PATCH 08/13] Remove RPC_FLUSH
|
Subject: [PATCH 08/18] Remove RPC_FLUSH
|
||||||
|
|
||||||
Origins from buildroot
|
Origins from buildroot
|
||||||
|
|
||||||
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From c4217231fd78daee83b0c0f312c1d392aa6e0f47 Mon Sep 17 00:00:00 2001
|
From e510be221276d06e630ab93452ecb712d3921790 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 6 Feb 2016 13:12:47 -0800
|
Date: Sat, 6 Feb 2016 13:12:47 -0800
|
||||||
Subject: [PATCH 09/13] fix cmake dependency race
|
Subject: [PATCH 09/18] fix cmake dependency race
|
||||||
|
|
||||||
Fixes errors like
|
Fixes errors like
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ index 1d81ca3..d6cd415 100644
|
|||||||
add_library (vcos SHARED ${SOURCES})
|
add_library (vcos SHARED ${SOURCES})
|
||||||
target_link_libraries (vcos pthread dl rt)
|
target_link_libraries (vcos pthread dl rt)
|
||||||
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
||||||
index 35150ed..22949a8 100755
|
index 6718215..c415176 100755
|
||||||
--- a/interface/vmcs_host/CMakeLists.txt
|
--- a/interface/vmcs_host/CMakeLists.txt
|
||||||
+++ b/interface/vmcs_host/CMakeLists.txt
|
+++ b/interface/vmcs_host/CMakeLists.txt
|
||||||
@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
|
@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
|
||||||
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
|
|||||||
struct wl_resource *resource;
|
struct wl_resource *resource;
|
||||||
struct wl_dispmanx *dispmanx;
|
struct wl_dispmanx *dispmanx;
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 6e634184ee4b3d2c98c3213a3931845ec3014754 Mon Sep 17 00:00:00 2001
|
From 8e6cde08077eadfe563dc17c19995ebc48e30b97 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Tue, 29 Mar 2016 20:38:30 -0700
|
Date: Tue, 29 Mar 2016 20:38:30 -0700
|
||||||
Subject: [PATCH 11/13] Fix for framerate with nested composition
|
Subject: [PATCH 10/18] Fix for framerate with nested composition
|
||||||
|
|
||||||
frame rate appears irregular and lower than expected when using nested composition.
|
frame rate appears irregular and lower than expected when using nested composition.
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 8 insertions(+)
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
||||||
index 024f3ed..83970ec 100644
|
index 03fe67b..13a110c 100644
|
||||||
--- a/interface/khronos/egl/egl_client.c
|
--- a/interface/khronos/egl/egl_client.c
|
||||||
+++ b/interface/khronos/egl/egl_client.c
|
+++ b/interface/khronos/egl/egl_client.c
|
||||||
@@ -2342,6 +2342,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
|
@@ -2342,6 +2342,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
|
||||||
@@ -56,5 +56,5 @@ index 024f3ed..83970ec 100644
|
|||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
CLIENT_UNLOCK();
|
CLIENT_UNLOCK();
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 559209ce15027b3370466ccb56223a7a66d2a40c Mon Sep 17 00:00:00 2001
|
From 9a97d60262999093d6ce8cb688279506c210d802 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 2 Apr 2016 10:37:24 -0700
|
Date: Sat, 2 Apr 2016 10:37:24 -0700
|
||||||
Subject: [PATCH 12/13] build shared library for vchostif
|
Subject: [PATCH 11/18] build shared library for vchostif
|
||||||
|
|
||||||
Fixes #149
|
Fixes #149
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
|
||||||
index 22949a8..f8c2f2f 100755
|
index c415176..d0cca1a 100755
|
||||||
--- a/interface/vmcs_host/CMakeLists.txt
|
--- a/interface/vmcs_host/CMakeLists.txt
|
||||||
+++ b/interface/vmcs_host/CMakeLists.txt
|
+++ b/interface/vmcs_host/CMakeLists.txt
|
||||||
@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
|
@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
|
||||||
@@ -24,5 +24,5 @@ index 22949a8..f8c2f2f 100755
|
|||||||
#add_library(bufman vc_vchi_bufman.c )
|
#add_library(bufman vc_vchi_bufman.c )
|
||||||
|
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
From 5b55a152651eece345d9ea1e0e40ecd9fc4ca2d5 Mon Sep 17 00:00:00 2001
|
From fedd7668152049c15ed58c7058e5f4a9c1fac7cb Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 2 Apr 2016 10:54:59 -0700
|
Date: Sat, 2 Apr 2016 10:54:59 -0700
|
||||||
Subject: [PATCH 13/13] implement buffer wrapping interface for dispmanx
|
Subject: [PATCH 12/18] implement buffer wrapping interface for dispmanx
|
||||||
|
|
||||||
Courtesy: Zan Dobersek
|
Courtesy: Zan Dobersek
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
interface/khronos/ext/egl_wayland.c | 42 +++++++++++++++++++++++++++++++++++++
|
interface/khronos/ext/egl_wayland.c | 42 +++++++++++++++++++++++++++++
|
||||||
interface/wayland/dispmanx.xml | 10 +++++++++
|
interface/wayland/dispmanx.xml | 10 +++++++
|
||||||
2 files changed, 52 insertions(+)
|
2 files changed, 52 insertions(+)
|
||||||
|
|
||||||
diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
|
diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
|
||||||
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
|
|||||||
|
|
||||||
</protocol>
|
</protocol>
|
||||||
--
|
--
|
||||||
2.9.0
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
From 65f8bca55aead676cd06fc3210aeffef1f2158c6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
|
||||||
|
Date: Thu, 19 Jan 2017 18:56:07 +0000
|
||||||
|
Subject: [PATCH 13/18] Implement triple buffering for wayland
|
||||||
|
|
||||||
|
Change from double to triple buffering for wayland.
|
||||||
|
This enables higher frame rates without tearing artifacts
|
||||||
|
by allowing both the glFinish and the buffer release
|
||||||
|
interlock to operate without pushing the frame period
|
||||||
|
to two vertical intervals
|
||||||
|
|
||||||
|
Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
interface/khronos/egl/egl_client.c | 3 ++-
|
||||||
|
interface/khronos/egl/egl_client_surface.c | 8 ++++++++
|
||||||
|
interface/khronos/egl/egl_client_surface.h | 11 +++++++++++
|
||||||
|
3 files changed, 21 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
|
||||||
|
index 13a110c..0380274 100644
|
||||||
|
--- a/interface/khronos/egl/egl_client.c
|
||||||
|
+++ b/interface/khronos/egl/egl_client.c
|
||||||
|
@@ -2323,7 +2323,8 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
|
||||||
|
|
||||||
|
buffer_temp = surface->front_wl_buffer;
|
||||||
|
surface->front_wl_buffer = surface->back_wl_buffer;
|
||||||
|
- surface->back_wl_buffer = buffer_temp;
|
||||||
|
+ surface->back_wl_buffer = surface->middle_wl_buffer;
|
||||||
|
+ surface->middle_wl_buffer = buffer_temp;
|
||||||
|
|
||||||
|
configid = egl_config_to_id(surface->config);
|
||||||
|
color = egl_config_get_color_format(configid);
|
||||||
|
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
|
||||||
|
index 9a9582c..10b3b04 100644
|
||||||
|
--- a/interface/khronos/egl/egl_client_surface.c
|
||||||
|
+++ b/interface/khronos/egl/egl_client_surface.c
|
||||||
|
@@ -402,12 +402,14 @@ EGL_SURFACE_T *egl_surface_create(
|
||||||
|
if (type == WINDOW && wl_display) {
|
||||||
|
surface->wl_egl_window = (struct wl_egl_window*)win;
|
||||||
|
surface->front_wl_buffer = NULL;
|
||||||
|
+ surface->middle_wl_buffer = NULL;
|
||||||
|
surface->back_wl_buffer = allocate_wl_buffer(
|
||||||
|
surface->wl_egl_window, color);
|
||||||
|
resource = surface->back_wl_buffer->resource;
|
||||||
|
} else {
|
||||||
|
surface->wl_egl_window = NULL;
|
||||||
|
surface->front_wl_buffer = NULL;
|
||||||
|
+ surface->middle_wl_buffer = NULL;
|
||||||
|
surface->back_wl_buffer = NULL;
|
||||||
|
resource = DISPMANX_NO_HANDLE;
|
||||||
|
}
|
||||||
|
@@ -696,6 +698,12 @@ void egl_surface_free(EGL_SURFACE_T *surface)
|
||||||
|
surface->back_wl_buffer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (surface->middle_wl_buffer) {
|
||||||
|
+ wl_buffer_destroy(surface->middle_wl_buffer->wl_buffer);
|
||||||
|
+ free(surface->middle_wl_buffer);
|
||||||
|
+ surface->middle_wl_buffer = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (surface->front_wl_buffer) {
|
||||||
|
wl_buffer_destroy(surface->front_wl_buffer->wl_buffer);
|
||||||
|
free(surface->front_wl_buffer);
|
||||||
|
diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h
|
||||||
|
index e328b77..58a3184 100644
|
||||||
|
--- a/interface/khronos/egl/egl_client_surface.h
|
||||||
|
+++ b/interface/khronos/egl/egl_client_surface.h
|
||||||
|
@@ -312,6 +312,17 @@ typedef struct {
|
||||||
|
*/
|
||||||
|
struct wl_dispmanx_client_buffer *front_wl_buffer;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ middle_wl_buffer
|
||||||
|
+
|
||||||
|
+ Validity:
|
||||||
|
+ type == WINDOW
|
||||||
|
+
|
||||||
|
+ Invariant:
|
||||||
|
+ client-side information about the wl_buffer in the middle
|
||||||
|
+ */
|
||||||
|
+ struct wl_dispmanx_client_buffer *middle_wl_buffer;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
back_wl_buffer
|
||||||
|
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From dc1d07d835e1fe70c957a655d6fbb8cde65775af Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Wed, 10 May 2017 06:39:34 +0000
|
||||||
|
Subject: [PATCH 14/18] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
|
||||||
|
|
||||||
|
weston code uses these defines
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
interface/khronos/include/GLES2/gl2ext.h | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/include/GLES2/gl2ext.h b/interface/khronos/include/GLES2/gl2ext.h
|
||||||
|
index 4eacf7f..b1acc9f 100644
|
||||||
|
--- a/interface/khronos/include/GLES2/gl2ext.h
|
||||||
|
+++ b/interface/khronos/include/GLES2/gl2ext.h
|
||||||
|
@@ -327,6 +327,14 @@ typedef void* GLeglImageOES;
|
||||||
|
#define GL_RGBX_BRCM 0x80EE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef GL_EXT_texture_rg
|
||||||
|
+#define GL_EXT_texture_rg 1
|
||||||
|
+#define GL_RED_EXT 0x1903
|
||||||
|
+#define GL_RG_EXT 0x8227
|
||||||
|
+#define GL_R8_EXT 0x8229
|
||||||
|
+#define GL_RG8_EXT 0x822B
|
||||||
|
+#endif /* GL_EXT_texture_rg */
|
||||||
|
+
|
||||||
|
/* GL_EXT_texture_type_2_10_10_10_REV */
|
||||||
|
#ifndef GL_EXT_texture_type_2_10_10_10_REV
|
||||||
|
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From b5fa294c0d8fcb6dd5bfbfb96a0885dd9f3ae609 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrea Galbusera <gizero@gmail.com>
|
||||||
|
Date: Fri, 14 Jul 2017 09:52:54 +0200
|
||||||
|
Subject: [PATCH 15/18] EGL/glplatform.h: define EGL_CAST
|
||||||
|
|
||||||
|
C++ / C typecast macros for special EGL handle values: used by libepoxy code
|
||||||
|
The definition comes from the updated version of this header in mesa.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
---
|
||||||
|
interface/khronos/include/EGL/eglplatform.h | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/include/EGL/eglplatform.h b/interface/khronos/include/EGL/eglplatform.h
|
||||||
|
index 1f7c930..c39d425 100644
|
||||||
|
--- a/interface/khronos/include/EGL/eglplatform.h
|
||||||
|
+++ b/interface/khronos/include/EGL/eglplatform.h
|
||||||
|
@@ -202,4 +202,11 @@ EGLAPI void EGLAPIENTRY BEGL_GetDefaultDriverInterfaces(BEGL_DriverInterfaces *i
|
||||||
|
#include "interface/khronos/common/khrn_client_mangle.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* C++ / C typecast macros for special EGL handle values */
|
||||||
|
+#if defined(__cplusplus)
|
||||||
|
+#define EGL_CAST(type, value) (static_cast<type>(value))
|
||||||
|
+#else
|
||||||
|
+#define EGL_CAST(type, value) ((type) (value))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif /* __eglplatform_h */
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
From bff03f92c0d8bae113e0c7234c719f8385808b38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
|
||||||
|
Date: Sat, 27 Jan 2018 12:28:31 -0500
|
||||||
|
Subject: [PATCH 16/18] Allow multiple wayland compositor state data per
|
||||||
|
process
|
||||||
|
|
||||||
|
When eglBindWaylandDisplayWL is called store the wl_global
|
||||||
|
created in a list associated with the wayland display.
|
||||||
|
This allows multiple wayland compositor instances to be
|
||||||
|
created and used per process. This scenario is common for
|
||||||
|
applications integrating externl process UI elements
|
||||||
|
via embedded composition e.g. westeros
|
||||||
|
|
||||||
|
Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
interface/khronos/common/khrn_client.c | 2 +-
|
||||||
|
interface/khronos/common/khrn_client.h | 11 +++++-
|
||||||
|
interface/khronos/ext/egl_wayland.c | 50 ++++++++++++++++++++++----
|
||||||
|
3 files changed, 55 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
|
||||||
|
index d7e798e..60bdb63 100644
|
||||||
|
--- a/interface/khronos/common/khrn_client.c
|
||||||
|
+++ b/interface/khronos/common/khrn_client.c
|
||||||
|
@@ -147,7 +147,7 @@ bool client_process_state_init(CLIENT_PROCESS_STATE_T *process)
|
||||||
|
{
|
||||||
|
if (!process->inited) {
|
||||||
|
#ifdef BUILD_WAYLAND
|
||||||
|
- process->wl_global = NULL;
|
||||||
|
+ process->wlStateMap = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!khrn_pointer_map_init(&process->contexts, 64))
|
||||||
|
diff --git a/interface/khronos/common/khrn_client.h b/interface/khronos/common/khrn_client.h
|
||||||
|
index 615f7b4..4fa86f7 100644
|
||||||
|
--- a/interface/khronos/common/khrn_client.h
|
||||||
|
+++ b/interface/khronos/common/khrn_client.h
|
||||||
|
@@ -170,6 +170,15 @@ static INLINE CLIENT_THREAD_STATE_T *CLIENT_GET_CHECK_THREAD_STATE(void)
|
||||||
|
return (CLIENT_THREAD_STATE_T *)platform_tls_get_check(client_tls);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef BUILD_WAYLAND
|
||||||
|
+typedef struct WAYLAND_STATE
|
||||||
|
+{
|
||||||
|
+ struct WAYLAND_STATE *next;
|
||||||
|
+ struct wl_display *display;
|
||||||
|
+ struct wl_global *wl_global;
|
||||||
|
+} WAYLAND_STATE_T;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
per-process state
|
||||||
|
|
||||||
|
@@ -318,7 +327,7 @@ struct CLIENT_PROCESS_STATE {
|
||||||
|
struct wl_event_queue *wl_queue;
|
||||||
|
|
||||||
|
/* Compositor-side Wayland state */
|
||||||
|
- struct wl_global *wl_global;
|
||||||
|
+ WAYLAND_STATE_T *wlStateMap;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
|
||||||
|
index 9ef89cd..abd5ab3 100644
|
||||||
|
--- a/interface/khronos/ext/egl_wayland.c
|
||||||
|
+++ b/interface/khronos/ext/egl_wayland.c
|
||||||
|
@@ -208,17 +208,38 @@ eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
|
||||||
|
{
|
||||||
|
CLIENT_THREAD_STATE_T *thread;
|
||||||
|
CLIENT_PROCESS_STATE_T *process;
|
||||||
|
+ WAYLAND_STATE_T *stateIter;
|
||||||
|
+ WAYLAND_STATE_T *stateNew;
|
||||||
|
+ struct wl_global *wl_global;
|
||||||
|
|
||||||
|
if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
|
||||||
|
return EGL_FALSE;
|
||||||
|
|
||||||
|
- if (process->wl_global != NULL)
|
||||||
|
+ stateIter= process->wlStateMap;
|
||||||
|
+ while( stateIter )
|
||||||
|
+ {
|
||||||
|
+ if ( stateIter->display == display )
|
||||||
|
+ goto error;
|
||||||
|
+ stateIter= stateIter->next;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
|
||||||
|
+ NULL, bind_dispmanx);
|
||||||
|
+ if (wl_global == NULL)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
- process->wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
|
||||||
|
- NULL, bind_dispmanx);
|
||||||
|
- if (process->wl_global == NULL)
|
||||||
|
+ stateNew= (WAYLAND_STATE_T*)calloc( 1, sizeof(WAYLAND_STATE_T));
|
||||||
|
+ if (stateNew == NULL )
|
||||||
|
+ {
|
||||||
|
+ wl_global_destroy(wl_global);
|
||||||
|
goto error;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ stateNew->next= process->wlStateMap;
|
||||||
|
+ stateNew->display= display;
|
||||||
|
+ stateNew->wl_global= wl_global;
|
||||||
|
+ process->wlStateMap= stateNew;
|
||||||
|
+ CLIENT_UNLOCK();
|
||||||
|
|
||||||
|
return EGL_TRUE;
|
||||||
|
|
||||||
|
@@ -232,12 +253,29 @@ eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
|
||||||
|
{
|
||||||
|
CLIENT_THREAD_STATE_T *thread;
|
||||||
|
CLIENT_PROCESS_STATE_T *process;
|
||||||
|
+ WAYLAND_STATE_T *stateIter;
|
||||||
|
+ WAYLAND_STATE_T *statePrev;
|
||||||
|
|
||||||
|
if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
|
||||||
|
return EGL_FALSE;
|
||||||
|
|
||||||
|
- wl_global_destroy(process->wl_global);
|
||||||
|
- process->wl_global = NULL;
|
||||||
|
+ statePrev= NULL;
|
||||||
|
+ stateIter= process->wlStateMap;
|
||||||
|
+ while( stateIter )
|
||||||
|
+ {
|
||||||
|
+ if ( stateIter->display == display )
|
||||||
|
+ {
|
||||||
|
+ wl_global_destroy(stateIter->wl_global);
|
||||||
|
+ if ( statePrev )
|
||||||
|
+ statePrev->next= stateIter->next;
|
||||||
|
+ else
|
||||||
|
+ process->wlStateMap= stateIter->next;
|
||||||
|
+ free( stateIter );
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ statePrev= stateIter;
|
||||||
|
+ stateIter= stateIter->next;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
CLIENT_UNLOCK();
|
||||||
|
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
From 8efd81e96bdd3be68063a6fd32be4755225e93b2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hugo Hromic <hhromic@gmail.com>
|
||||||
|
Date: Sun, 13 May 2018 10:49:04 +0100
|
||||||
|
Subject: [PATCH 17/18] khronos: backport typedef for
|
||||||
|
EGL_EXT_image_dma_buf_import
|
||||||
|
|
||||||
|
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
|
||||||
|
expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos.
|
||||||
|
However, the older version included in userland does not provide it.
|
||||||
|
|
||||||
|
This patch backports the missing typedef from recent Khronos into userland.
|
||||||
|
See: <https://www.khronos.org/registry/EGL/api/EGL/eglext.h>
|
||||||
|
|
||||||
|
Submitted to userland in <https://github.com/raspberrypi/userland/pull/467>
|
||||||
|
|
||||||
|
Upstream-Status: Submitted
|
||||||
|
---
|
||||||
|
interface/khronos/include/EGL/eglext.h | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/include/EGL/eglext.h b/interface/khronos/include/EGL/eglext.h
|
||||||
|
index d7e5ba7..dcc90ce 100755
|
||||||
|
--- a/interface/khronos/include/EGL/eglext.h
|
||||||
|
+++ b/interface/khronos/include/EGL/eglext.h
|
||||||
|
@@ -190,6 +190,10 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSy
|
||||||
|
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef EGL_KHR_uint64_typedef
|
||||||
|
+#define EGL_KHR_uint64_typedef 1
|
||||||
|
+typedef khronos_uint64_t EGLuint64KHR;
|
||||||
|
+#endif /* EGL_KHR_uint64_typedef */
|
||||||
|
|
||||||
|
#ifndef EGL_WL_bind_wayland_display
|
||||||
|
#define EGL_WL_bind_wayland_display 1
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From 9cfea4761ba68776fd9bfac671b74c7174f99029 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Sun, 15 Jul 2018 00:48:38 -0700
|
||||||
|
Subject: [PATCH 18/18] Add EGL_IMG_context_priority related defines
|
||||||
|
|
||||||
|
These defines are needed for compiling weston 4.x
|
||||||
|
taken from Khronos headers
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
interface/khronos/include/EGL/eglext.h | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/interface/khronos/include/EGL/eglext.h b/interface/khronos/include/EGL/eglext.h
|
||||||
|
index dcc90ce..6842bf9 100755
|
||||||
|
--- a/interface/khronos/include/EGL/eglext.h
|
||||||
|
+++ b/interface/khronos/include/EGL/eglext.h
|
||||||
|
@@ -93,6 +93,14 @@ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGL
|
||||||
|
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef EGL_IMG_context_priority
|
||||||
|
+#define EGL_IMG_context_priority 1
|
||||||
|
+#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3102
|
||||||
|
+#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
|
||||||
|
+#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
|
||||||
|
+#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
|
||||||
|
+#endif /* EGL_IMG_context_priority */
|
||||||
|
+
|
||||||
|
#ifndef EGL_KHR_vg_parent_image
|
||||||
|
#define EGL_KHR_vg_parent_image 1
|
||||||
|
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */
|
||||||
|
--
|
||||||
|
2.19.1
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From 6c9d407c9ec0859380e7bcf35cf915cef4b3687b Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
||||||
Date: Sat, 24 Jan 2015 22:07:19 +0100
|
|
||||||
Subject: [PATCH 05/13] interface: remove faulty assert() to make weston happy
|
|
||||||
at runtime
|
|
||||||
|
|
||||||
This was removed after a discussion on IRC with the weston guys
|
|
||||||
('daniels' on irc.freenode.net/#wayland).
|
|
||||||
|
|
||||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
||||||
---
|
|
||||||
interface/vmcs_host/vc_vchi_dispmanx.c | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
|
|
||||||
index 3e668f5..8e065dc 100755
|
|
||||||
--- a/interface/vmcs_host/vc_vchi_dispmanx.c
|
|
||||||
+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
|
|
||||||
@@ -1304,7 +1304,6 @@ static void *dispmanx_notify_func( void *arg ) {
|
|
||||||
// Decrement the use count - the corresponding "use" is in vc_dispmanx_update_submit.
|
|
||||||
vchi_service_release(dispmanx_client.notify_handle[0]);
|
|
||||||
if (dispmanx_client.update_callback ) {
|
|
||||||
- vcos_assert( dispmanx_client.pending_update_handle == handle);
|
|
||||||
dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
--
|
|
||||||
2.9.0
|
|
||||||
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
From 377f6aada3b7569e3d662fc830e01b8c5ba8a15d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Thu, 18 Feb 2016 09:04:46 +0000
|
|
||||||
Subject: [PATCH 10/13] Fix enum conversion warnings
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
interface/mmal/openmaxil/mmalomx_core.c | 4 ++--
|
|
||||||
interface/mmal/openmaxil/mmalomx_parameters.c | 6 +++---
|
|
||||||
interface/mmal/openmaxil/mmalomx_util_params_video.c | 8 ++++----
|
|
||||||
3 files changed, 9 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/interface/mmal/openmaxil/mmalomx_core.c b/interface/mmal/openmaxil/mmalomx_core.c
|
|
||||||
index 9bc632b..20d4fc7 100644
|
|
||||||
--- a/interface/mmal/openmaxil/mmalomx_core.c
|
|
||||||
+++ b/interface/mmal/openmaxil/mmalomx_core.c
|
|
||||||
@@ -281,7 +281,7 @@ static OMX_ERRORTYPE mmalomx_ComponentGetParameter(
|
|
||||||
{
|
|
||||||
OMX_PARAM_PORTDEFINITIONTYPE *param = (OMX_PARAM_PORTDEFINITIONTYPE *)pParam;
|
|
||||||
PARAM_GET_PORT(port, component, param->nPortIndex);
|
|
||||||
- return mmalil_error_to_mmal(mmalomx_get_port_settings(port, param));
|
|
||||||
+ return mmalil_error_to_omx(mmalomx_get_port_settings(port, param));
|
|
||||||
}
|
|
||||||
return OMX_ErrorNone;
|
|
||||||
break;
|
|
||||||
@@ -475,7 +475,7 @@ static OMX_ERRORTYPE mmalomx_ComponentSetParameter(
|
|
||||||
{
|
|
||||||
OMX_PARAM_PORTDEFINITIONTYPE *param = (OMX_PARAM_PORTDEFINITIONTYPE *)pParam;
|
|
||||||
PARAM_GET_PORT(port, component, param->nPortIndex);
|
|
||||||
- return mmalil_error_to_mmal(mmalomx_set_port_settings(port, param));
|
|
||||||
+ return mmalil_error_to_omx(mmalomx_set_port_settings(port, param));
|
|
||||||
}
|
|
||||||
return OMX_ErrorNone;
|
|
||||||
break;
|
|
||||||
diff --git a/interface/mmal/openmaxil/mmalomx_parameters.c b/interface/mmal/openmaxil/mmalomx_parameters.c
|
|
||||||
index a20a5bd..c4f97d4 100644
|
|
||||||
--- a/interface/mmal/openmaxil/mmalomx_parameters.c
|
|
||||||
+++ b/interface/mmal/openmaxil/mmalomx_parameters.c
|
|
||||||
@@ -170,7 +170,7 @@ static OMX_ERRORTYPE mmalomx_parameter_get_xlat(MMALOMX_COMPONENT_T *component,
|
|
||||||
|
|
||||||
if (xlat->fn.custom)
|
|
||||||
{
|
|
||||||
- return mmalil_error_to_mmal(xlat->fn.custom(MMALOMX_PARAM_MAPPING_TO_OMX, xlat, mmal_header,
|
|
||||||
+ return mmalil_error_to_omx(xlat->fn.custom(MMALOMX_PARAM_MAPPING_TO_OMX, xlat, mmal_header,
|
|
||||||
pParam, mmal_port));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -554,14 +554,14 @@ OMX_ERRORTYPE mmalomx_parameter_set(MMALOMX_COMPONENT_T *component,
|
|
||||||
port->mmal->format->es->video.par.num = param->nX;
|
|
||||||
port->mmal->format->es->video.par.den = param->nY;
|
|
||||||
mmal_rational_simplify(&port->mmal->format->es->video.par);
|
|
||||||
- return mmalil_error_to_mmal(mmal_port_format_commit(port->mmal));
|
|
||||||
+ return mmalil_error_to_omx(mmal_port_format_commit(port->mmal));
|
|
||||||
}
|
|
||||||
case OMX_IndexParamColorSpace:
|
|
||||||
{
|
|
||||||
OMX_PARAM_COLORSPACETYPE *param = (OMX_PARAM_COLORSPACETYPE *)pParam;
|
|
||||||
PARAM_GET_PORT(port, component, param->nPortIndex);
|
|
||||||
port->mmal->format->es->video.color_space = mmalil_omx_color_space_to_mmal(param->eColorSpace);
|
|
||||||
- return mmalil_error_to_mmal(mmal_port_format_commit(port->mmal));
|
|
||||||
+ return mmalil_error_to_omx(mmal_port_format_commit(port->mmal));
|
|
||||||
}
|
|
||||||
case OMX_IndexParamBrcmVideoCroppingDisable:
|
|
||||||
{
|
|
||||||
diff --git a/interface/mmal/openmaxil/mmalomx_util_params_video.c b/interface/mmal/openmaxil/mmalomx_util_params_video.c
|
|
||||||
index f088296..83e3724 100644
|
|
||||||
--- a/interface/mmal/openmaxil/mmalomx_util_params_video.c
|
|
||||||
+++ b/interface/mmal/openmaxil/mmalomx_util_params_video.c
|
|
||||||
@@ -56,11 +56,11 @@ static MMAL_STATUS_T mmalomx_param_mapping_displayregion(MMALOMX_PARAM_MAPPING_D
|
|
||||||
mmal->set = omx->set;
|
|
||||||
mmal->display_num = omx->num;
|
|
||||||
mmal->fullscreen = omx->fullscreen;
|
|
||||||
- mmal->transform = omx->transform;
|
|
||||||
+ mmal->transform = (MMAL_DISPLAYTRANSFORM_T)omx->transform;
|
|
||||||
rect_to_mmal(&mmal->dest_rect, &omx->dest_rect);
|
|
||||||
rect_to_mmal(&mmal->src_rect, &omx->src_rect);
|
|
||||||
mmal->noaspect = omx->noaspect;
|
|
||||||
- mmal->mode = omx->mode;
|
|
||||||
+ mmal->mode = (MMAL_DISPLAYMODE_T)omx->mode;
|
|
||||||
mmal->pixel_x = omx->pixel_x;
|
|
||||||
mmal->pixel_y = omx->pixel_y;
|
|
||||||
mmal->layer = omx->layer;
|
|
||||||
@@ -72,11 +72,11 @@ static MMAL_STATUS_T mmalomx_param_mapping_displayregion(MMALOMX_PARAM_MAPPING_D
|
|
||||||
omx->set = mmal->set;
|
|
||||||
omx->num = mmal->display_num;
|
|
||||||
omx->fullscreen = mmal->fullscreen;
|
|
||||||
- omx->transform = mmal->transform;
|
|
||||||
+ omx->transform = (OMX_DISPLAYTRANSFORMTYPE)mmal->transform;
|
|
||||||
rect_to_omx(&omx->dest_rect, &mmal->dest_rect);
|
|
||||||
rect_to_omx(&omx->src_rect, &mmal->src_rect);
|
|
||||||
omx->noaspect = mmal->noaspect;
|
|
||||||
- omx->mode = mmal->mode;
|
|
||||||
+ omx->mode = (OMX_DISPLAYMODETYPE)mmal->mode;
|
|
||||||
omx->pixel_x = mmal->pixel_x;
|
|
||||||
omx->pixel_y = mmal->pixel_y;
|
|
||||||
omx->layer = mmal->layer;
|
|
||||||
--
|
|
||||||
2.9.0
|
|
||||||
|
|
||||||
@@ -5,18 +5,18 @@ vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
|
|||||||
LICENSE = "BSD-3-Clause"
|
LICENSE = "BSD-3-Clause"
|
||||||
LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
|
LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
|
||||||
|
|
||||||
PR = "r5"
|
PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
|
||||||
|
|
||||||
PROVIDES = "virtual/libgles2 \
|
RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}"
|
||||||
virtual/egl"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
RPROVIDES_${PN} += "libgles2 libgl"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
|
||||||
|
|
||||||
SRCBRANCH = "master"
|
SRCBRANCH = "master"
|
||||||
SRCFORK = "raspberrypi"
|
SRCFORK = "raspberrypi"
|
||||||
SRCREV = "0147f98bdd4fdc822d25d8a70cf5adc5adb89096"
|
SRCREV = "d574b51a60a075baefe863670466ee24e6c4256e"
|
||||||
|
|
||||||
|
# Use the date of the above commit as the package version. Update this when
|
||||||
|
# SRCREV is changed.
|
||||||
|
PV = "20181120"
|
||||||
|
|
||||||
SRC_URI = "\
|
SRC_URI = "\
|
||||||
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
|
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
|
||||||
@@ -29,19 +29,29 @@ SRC_URI = "\
|
|||||||
file://0007-initialize-front-back-wayland-buffers.patch \
|
file://0007-initialize-front-back-wayland-buffers.patch \
|
||||||
file://0008-Remove-RPC_FLUSH.patch \
|
file://0008-Remove-RPC_FLUSH.patch \
|
||||||
file://0009-fix-cmake-dependency-race.patch \
|
file://0009-fix-cmake-dependency-race.patch \
|
||||||
file://0010-Fix-enum-conversion-warnings.patch \
|
file://0010-Fix-for-framerate-with-nested-composition.patch \
|
||||||
file://0011-Fix-for-framerate-with-nested-composition.patch \
|
file://0011-build-shared-library-for-vchostif.patch \
|
||||||
file://0012-build-shared-library-for-vchostif.patch \
|
file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch \
|
||||||
file://0013-implement-buffer-wrapping-interface-for-dispmanx.patch \
|
file://0013-Implement-triple-buffering-for-wayland.patch \
|
||||||
|
file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \
|
||||||
|
file://0015-EGL-glplatform.h-define-EGL_CAST.patch \
|
||||||
|
file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
|
||||||
|
file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \
|
||||||
|
file://0018-Add-EGL_IMG_context_priority-related-defines.patch \
|
||||||
"
|
"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
inherit cmake pkgconfig
|
inherit cmake pkgconfig
|
||||||
|
|
||||||
|
ASNEEDED = ""
|
||||||
|
|
||||||
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
|
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
|
||||||
-DVMCS_INSTALL_PREFIX=${exec_prefix} \
|
-DVMCS_INSTALL_PREFIX=${exec_prefix} \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON "
|
||||||
|
|
||||||
|
|
||||||
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
|
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
|
||||||
|
|
||||||
PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
|
PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
|
||||||
@@ -54,6 +64,14 @@ do_install_append () {
|
|||||||
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
|
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
|
||||||
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
|
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
|
||||||
done
|
done
|
||||||
|
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then
|
||||||
|
rm -rf ${D}${libdir}/libEGL*
|
||||||
|
rm -rf ${D}${libdir}/libGLES*
|
||||||
|
rm -rf ${D}${libdir}/libwayland-*
|
||||||
|
rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \
|
||||||
|
${D}${libdir}/pkgconfig/wayland-egl.pc
|
||||||
|
rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Shared libs from userland package build aren't versioned, so we need
|
# Shared libs from userland package build aren't versioned, so we need
|
||||||
@@ -73,3 +91,4 @@ FILES_${PN}-dbg += "${libdir}/plugins/.debug"
|
|||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|
||||||
RDEPENDS_${PN} += "bash"
|
RDEPENDS_${PN} += "bash"
|
||||||
|
RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"
|
||||||
|
|||||||
@@ -4,7 +4,9 @@ LICENSE = "Proprietary"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
|
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
|
||||||
|
|
||||||
PROVIDES = "virtual/libgles2 virtual/egl"
|
PROVIDES = "virtual/libgles2 virtual/egl"
|
||||||
COMPATIBLE_MACHINE = "raspberrypi"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
include recipes-bsp/common/firmware.inc
|
include recipes-bsp/common/firmware.inc
|
||||||
|
|
||||||
|
|||||||
7
recipes-graphics/wayland/wayland_%.bbappend
Normal file
7
recipes-graphics/wayland/wayland_%.bbappend
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# until fully tested, prefer `libwayland-egl` provided by `userland` instead of `wayland` when not using vc4graphics
|
||||||
|
do_install_append_rpi () {
|
||||||
|
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "0" ]; then
|
||||||
|
rm -f ${D}${libdir}/libwayland-egl*
|
||||||
|
rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
|
||||||
|
fi
|
||||||
|
}
|
||||||
@@ -1,4 +1,10 @@
|
|||||||
|
PACKAGECONFIG_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'fbdev', '', d)}"
|
||||||
|
|
||||||
EXTRA_OECONF_append_rpi = " \
|
EXTRA_OECONF_append_rpi = " \
|
||||||
--enable-rpi-compositor \
|
--disable-xwayland-test \
|
||||||
WESTON_NATIVE_BACKEND=rpi-backend.so \
|
--disable-simple-egl-clients \
|
||||||
|
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' \
|
||||||
|
--disable-resize-optimization \
|
||||||
|
--disable-setuid-install \
|
||||||
|
', d)} \
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
EXTRA_OECONF += "--enable-rpi-compositor \
|
|
||||||
--disable-resize-optimization \
|
|
||||||
--disable-setuid-install \
|
|
||||||
--disable-xwayland-test \
|
|
||||||
--disable-simple-egl-clients \
|
|
||||||
WESTON_NATIVE_BACKEND=rpi-backend.so \
|
|
||||||
"
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#
|
|
||||||
# Catch-all evdev loader for udev-based systems
|
|
||||||
# We don't simply match on any device since that also adds accelerometers
|
|
||||||
# and other devices that we don't really want to use. The list below
|
|
||||||
# matches everything but joysticks.
|
|
||||||
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "evdev pointer catchall"
|
|
||||||
MatchIsPointer "on"
|
|
||||||
MatchDevicePath "/dev/input/event*"
|
|
||||||
Driver "evdev"
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "evdev keyboard catchall"
|
|
||||||
MatchIsKeyboard "on"
|
|
||||||
MatchDevicePath "/dev/input/event*"
|
|
||||||
Driver "evdev"
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "evdev touchpad catchall"
|
|
||||||
MatchIsTouchpad "on"
|
|
||||||
MatchDevicePath "/dev/input/event*"
|
|
||||||
Driver "evdev"
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "evdev tablet catchall"
|
|
||||||
MatchIsTablet "on"
|
|
||||||
MatchDevicePath "/dev/input/event*"
|
|
||||||
Driver "evdev"
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "evdev touchscreen catchall"
|
|
||||||
MatchIsTouchscreen "on"
|
|
||||||
MatchDevicePath "/dev/input/event*"
|
|
||||||
Driver "evdev"
|
|
||||||
EndSection
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user