WEBVTT 00:00.000 --> 00:15.600 Welcome to my talk, upstream and plynx on risk 5SBCs, the past present and future. 00:15.600 --> 00:27.000 I'm Marcel, I joined Coat Think in 2024 and I'm a senior software engineer there. 00:27.800 --> 00:39.480 Let's dive in. Last year I talked about the banana pie F3 and that's this port. I'm not going to go through 00:39.480 --> 00:46.280 all the details here. Maybe one note, I added there on the right. There are no many more. 00:47.080 --> 00:59.480 Pass them it K1 or KYX1. It's kind of a derivative of this chip and for example the orange pie 01:00.280 --> 01:08.920 ports use that chip and Michael is going to talk about that later. So I'm not going to cover that here. 01:08.920 --> 01:32.360 So yeah, let's wait couple seconds at this. I know, okay. So the downstream option on the 01:32.360 --> 01:43.800 spot semi, it's there a yanbu. The latest version they have is 301 and that is Ubuntu 2504 based. 01:44.760 --> 01:56.760 It got upgraded to the 6x kernel, Ubuntu 2022 10 and kind of an ancient open SBI 13. You get 01:57.720 --> 02:06.920 the sources on GITT or GIT Hub that is the latest version from August 15. 02:09.720 --> 02:17.480 Then I also tried Betora V4s. That's why I asked earlier. I wasn't aware that this is kind of 02:17.480 --> 02:25.000 not the official Betora risk 5 stuff but somehow googling around I just stumbled over this and 02:25.000 --> 02:31.960 like if it tried actually works but it uses of course the same downstream Chinese stuff not. 02:34.840 --> 02:42.760 Then we're waiting on the guy to tell us how he actually tested it if he ever did. Who knows? 02:44.120 --> 02:48.280 But that's the status on the Ubuntu prompt. Then on the Linux kernel. 02:49.240 --> 02:54.360 Like I also talked about last year. I mean last year I kind of got a booting with any 02:54.360 --> 03:00.680 tardy not and I kind of poked a little bit with iSquarec which was still on the mailing list. 03:01.320 --> 03:10.600 All of that stuff now got merged. Later also the milk 5 tube bitter which is another port using 03:10.680 --> 03:20.520 that chip got added. So not only the PPS3 and yeah like I said iSquarec, GPIO and all that stuff 03:21.560 --> 03:34.840 all working and then also further pieces all got merged. For example also SDI but unfortunately 03:34.920 --> 03:44.440 that is EMMC only because the control that this useful SD card has quite the different configuration. 03:45.320 --> 03:57.000 So that is still up in the air. That actually just on January 22 the DT changes for 620 got pulled. 03:57.080 --> 04:04.920 You can see here the list. There are some Ethernet fixes, some more pin control power stuff. 04:05.800 --> 04:13.480 Then of course I will talk about later also the first K3 stuff appearing and of course they kind of 04:13.480 --> 04:23.000 refactor some pieces that it can be reused. USB support and stuff like that reset support. 04:23.000 --> 04:31.800 And also PCI Express actually is now on there and the PEMIC which was already on the for the F3 04:31.800 --> 04:38.440 PPS3 now also for the tube bitter port. And further pieces on the mailing list. 04:42.840 --> 04:52.040 And here you can see further stuff like also further pieces for the on the orange python. 04:53.240 --> 05:03.800 Then on the yoktove project it's basically metal risk 5. What are we talking about here? 05:05.000 --> 05:10.840 I had a kind of a functional patch that lasts here but it was for the downstream stuff only. 05:11.480 --> 05:18.520 And on January 6th Michael's stuff got now merged so it's support in there. 05:18.920 --> 05:26.600 Yeah when I played with it I found an issue and I compiled it that is also fixed now. 05:28.600 --> 05:38.120 And in his read me is a chest to use NFS root FS because like I mentioned before the SD card doesn't work yet. 05:38.120 --> 05:46.600 So that works great of course especially you know for development it's anyway great to have NFS root FS. 05:47.560 --> 05:54.840 I also tried EMM-C because I have a port that has EMM-C I think not all do not not fully sure. 05:55.880 --> 06:03.720 That also works great of course you have to somehow first boot something else to actually kind of write it in there. 06:03.720 --> 06:14.120 But the on boot works fine for that even so some Chinese characters somewhere in between which kind of strange but whatever. 06:15.080 --> 06:22.360 So the yeah if you're interested on the micro card support front there is a 06:24.280 --> 06:33.880 Yeah he initiated the discussion there is this patch set that adds a few things but that doesn't work like I said because the controller configuration is completely different. 06:34.680 --> 06:36.680 Patches welcome. 06:36.680 --> 06:39.640 Maybe after first time if I find here by the way. 06:39.960 --> 06:46.120 We will get to that later in the live demo you could choose which one. 06:48.280 --> 06:53.240 So that are we two is a very low cost so we get it for less than like 40 bucks. 06:53.960 --> 07:01.880 It uses some Chinese C-flower chip with 20 C908 cores. 07:03.080 --> 07:07.080 It's actually still fairly powerful one or two five gigahertz. 07:07.720 --> 07:20.040 And yeah it is a more for network devices not it has an integrated network processor NPU. 07:20.840 --> 07:29.640 So NPU can also stand for network not that's where some of us old guys start that off with not before. 07:30.360 --> 07:37.400 Yeah anyway it can do 20 gigabit per second switching so kind of a nice chip. 07:37.400 --> 07:41.240 Unfortunately the documentation is a little bit scarce. 07:44.280 --> 07:55.080 Yeah that is this part how about software for it they use a downstream open WRT they recently upgraded it to 07:55.080 --> 08:09.880 2410 which yeah uses 66 kernel you boot 2022 and yeah I mean that part maybe one thing I've 08:09.880 --> 08:20.280 got to mention here it has a both 128 megabytes spin-end and the 16 megabytes by-nor and it has 08:20.280 --> 08:26.200 jumpers so you could jump it to boot from either that or the other even with a right protect 08:26.200 --> 08:32.760 jumper for the norm I guess the norm would be some kind of like a safe haven not like that kind of 08:32.760 --> 08:41.320 would make sense unfortunately stuff only boots would stay and nobody knows yet how to boot and 08:41.320 --> 08:48.440 there are people asking about it there is zero documentation I mean I also couldn't find out anything there is 08:48.440 --> 09:00.120 really nobody knows unfortunately which also makes it hard then for upstream because well yeah anyway 09:01.080 --> 09:08.600 nothing on open SPI or you good yet that I could find on the Linux kernel side somebody added 09:09.560 --> 09:18.360 the vendor prefix very helpful and then they try to push some pieces but yeah not much 09:18.360 --> 09:30.520 progress since like plus generally. Meanwhile actually upstream open WRT support got merged and that 09:30.520 --> 09:37.240 also they then you know upgraded that from the six six to the six 12 kernel which is what we now 09:37.240 --> 09:46.120 there is use in open WRT and that actually works great but also of course it only boots from 09:46.120 --> 09:53.640 spin-end nobody else figured yet out how to do anything else and somehow I thought well 09:53.640 --> 10:00.920 would be kind of cool to also have that as a yokster machine not so I took those pieces I could 10:00.920 --> 10:08.200 even compile it nicely but then I found out well even though the port has a nice USB port 10:08.920 --> 10:16.120 it doesn't have an SD card that the thing here is an Anosim it's not an SD card not but I my plan 10:16.120 --> 10:24.760 was to kind of plug in the U chain load something that's true yeah good idea so I could validate 10:24.920 --> 10:31.320 the whole chain make sense if you want to know how it actually boots you can do the following 10:31.320 --> 10:36.920 so you place the like fsp all the first code right you save the stack pointer you set up 10:36.920 --> 10:41.400 you are to print out the stack pointer so you roughly know where the mask from his friend 10:41.400 --> 10:48.280 or maybe as for him and then you jump the mask from noted and he dropped and that just 10:48.440 --> 10:55.640 what it's like yeah no I mean I have some ideas as well that's true but but on the other hand 10:55.640 --> 11:14.840 it's all very time consuming so yeah that's true but I mean for booting you basically need to 11:14.840 --> 11:22.120 probably know some kind of head or format stuff that you would need I mean I'm not talking about 11:22.120 --> 11:27.960 if you would try to boot from from from the norm of that really I mean it's zero document so it's 11:27.960 --> 11:40.680 kind of hard to find that out but yeah let's see then the next one that appeared this is this 11:41.000 --> 11:49.560 EBC 77 really nice small board it comes with the high five premier p5 50 cores 11:51.160 --> 11:59.560 so basically they're the gigantic board that the photographer I showed earlier it's basically 11:59.560 --> 12:13.720 this smaller version not yeah this one has nice kind of really fast 16 gigabytes of ram 12:13.720 --> 12:23.720 nice not it for the bootloader I use a spy so you can basically have some kind of save way to boot it 12:24.680 --> 12:33.960 and also for to experiment with with other operating system stuff it's kind of nice if it's 12:33.960 --> 12:43.400 separated not so you just have like an SD card that just has like an EVFI petition and 12:43.400 --> 12:50.680 the rootFS and the bootloader stuff is just in the spinole I think it kind of makes more sense not 12:54.200 --> 13:02.440 then despite actually this is kind of an old RVA 20 board not or the course 13:04.040 --> 13:12.360 and despite the fact that to boot to ditch the older RVA is they actually kind of 13:12.360 --> 13:21.960 joint forces with SVN computing and they even kind of advertised that as official OS for this board 13:22.680 --> 13:29.560 but it's it's the old flavor the 2404 not which is LTS so it will be supported for a while 13:30.120 --> 13:40.760 the last updated version is from December 12 and it uses 66 92 kernel and the ubo thing that is 13:42.360 --> 13:50.680 yeah course use is this physical memory LIS stuff and that I'm actually not fully sure 13:50.760 --> 13:58.440 I found out that it got kind of partially merged like I think four five patches of that patch set 13:58.440 --> 14:08.760 are now next but the rest I don't know where it went I kind of hand yeah figured out which is 14:08.760 --> 14:16.600 missing and and rebased it and whatever not and that is then what I used in this patch set that 14:16.840 --> 14:21.640 I used for the Meta risk five stuff that got merged from January 17 14:23.640 --> 14:30.280 actually I have two machines one even with the downstream one with the main line the light 14:30.280 --> 14:41.960 ladder is based on 619 or C5 and 22 patches straight from the mailing list I mean more or less straight 14:42.520 --> 14:50.920 to replace it a little bit like I said where it was partially merged and yeah that boots 14:50.920 --> 14:59.000 fine from SD card and the boot loader is just a downstream window stuff in the spine or still 14:59.800 --> 15:09.240 I also have a pull request now updating that to RC7 and also I fixed on I have to admit I had some 15:09.240 --> 15:17.880 other layers in my configuration and the BB config and somebody else tried to build it with with what 15:19.800 --> 15:26.680 in in yoke the layers you usually have in the read me what you depend on and that basically that 15:26.680 --> 15:34.360 machine didn't have here to that fix that now I experimented with some Wi-Fi Bluetooth stuff which 15:34.440 --> 15:49.400 is in the minimal kind of yoke to stuff then on the free desktop SDK front I have a match request there 15:49.400 --> 15:59.320 I used the same 24 patches I mentioned before and it builds fine well it takes like five hours 15:59.640 --> 16:12.760 even with the pioneers we have not but that is more because the I mean 3 desktop SDK that is 16:12.760 --> 16:20.600 basically used for for the flat pack stuff not so of course it the way the CIA is set up there it 16:20.600 --> 16:26.200 basically builds the world and then cashes everything which is really nice so when you then build an 16:26.200 --> 16:32.840 image it builds in like five minutes but building the world takes five hours not configuration who knows 16:33.400 --> 16:42.920 kind of been a while when I last played with crop match but yeah one can get it to manually boot 16:42.920 --> 16:49.880 and when entering this stuff and with that it actually works so I have free desktop SDK running on that 16:50.840 --> 17:03.400 now to the future are we age 23 we heard some these tools already changed that which seems kind 17:03.400 --> 17:09.320 of a little bit stupid to do that before there is some hardware actually available but on the other hand 17:11.080 --> 17:17.400 well there are choices not that's an open free world at least on this side of the pond we still 17:17.880 --> 17:27.880 have free world so and hardware is now slowly also appearing there is milk-fifetime and actually 17:28.920 --> 17:36.520 very new I heard and I edited the slides and uploaded the new deck by the way just like half an hour ago 17:37.160 --> 17:44.760 because last I checked the day ago I don't think the UPD2 was too pitot2 was there yet on the 17:44.840 --> 17:55.320 milk-fifetime but it is now but let's first look at the Titan it's this ultra-risk URDP000 based 17:55.320 --> 18:03.640 board it's technically not fully RVA20's actually because it's kind of stupidly missing the V 18:03.640 --> 18:11.800 vector extension but they claim that it's the most most powerful mini IT export 18:12.280 --> 18:19.880 yeah it's also kind of reasonably priced you can even get some kind of pre-order discount 18:19.880 --> 18:28.520 at least I got however that got used up for the shipping cost of course I think it ships from home 18:28.520 --> 18:37.800 corners something supposedly ships within 45 days let's see that will be soon for mine don't know 18:37.960 --> 18:46.360 actually I did stuff I heard on the kind of the Chinese matrix channel they seem to have some 18:46.360 --> 18:54.600 reliability issues with version revisions three of the board and supposedly now produce further patches 18:54.600 --> 19:01.640 of it with different manufacturers so something is at least going on and I already got my 64 19:02.600 --> 19:12.760 ram for it which by the way thank you ii companies wasn't any cheap anymore it's fucking ram anyway 19:13.720 --> 19:22.040 upstream status of this one and also started upstreaming with the interrupt stuff at least 19:22.440 --> 19:33.640 then all new shiny Jupiter 2 so that one uses the basically predecessor of what the 19:33.640 --> 19:42.680 banana use not the K1 and here it's the K3 and this one is fully RVA USB ports and the USB 19:42.680 --> 19:53.960 also support supposedly dp alt mode now with 4k 60 hertz and also dp support so yeah it looks 19:53.960 --> 20:02.760 like a nice hardware for us to play with so supposedly shipping in April is what they claim 20:03.640 --> 20:11.480 pricing I haven't really heard anything mentioned yet upstream status so it looks like the K3 20:11.480 --> 20:20.360 might be the first that that is completely supported so a lot of patches are on the mailing list so yeah 20:23.400 --> 20:30.280 then also of course Smin has some newer ones in the pipeline there is supposedly 2 and as 20:30.280 --> 20:39.960 500 for general purpose in the S5 16 more for AI acceleration both supposedly full RVA 23 20:41.240 --> 20:50.680 then there is a nucleic system technology with their UX 10 30 edge which should be fully RVA 23 20:51.880 --> 20:58.360 there is the C5 the performance P800 series should be ready for RVA 23 20:59.240 --> 21:07.800 actually whether that is related to Smin which remember they kind of used C5 performance course before 21:07.800 --> 21:15.560 where whether any of the S500 or S5 16 also does that I couldn't find any information so we don't know 21:18.040 --> 21:28.200 then basically the specimen they have the V100 is like a service CPU then that also uses the X100 21:28.200 --> 21:36.120 course and of course the case VSOC also uses those then there is the 10 storent TT ascolon 21:37.320 --> 21:44.120 and another really interesting thing I stumbled on is the Chiang-Chang it's supposedly an open source 21:44.120 --> 21:51.960 high performance risk 5 processor infrastructure for architecture research so you basically it's all fully open 21:52.120 --> 22:03.960 you find that if you google for it there is also the C here stuff but the A210 sok I don't 22:03.960 --> 22:10.120 think it is fully RVA 23 yet but they have a follow up the A6 on which which then should be 22:11.400 --> 22:20.200 let's see okay now we get to the live demo this time I let you choose so we have we will do 22:21.160 --> 22:27.640 the vote I first tell you what we have we could have the banana pineapple we could have it 22:29.480 --> 22:40.200 with the yoptop basically from my tool note or we could have the banana pie RV2 running open 22:40.200 --> 22:51.560 WT upstream or we could have the my favorite board either with yoptop or with three 22:52.520 --> 23:04.920 so we we we vote who wants option one banana pie F3 who wants to see this one nobody 23:07.240 --> 23:19.080 okay we have five minutes left who wants to see banana pie RV2 okay few it is then who wants to see the 23:19.080 --> 23:27.800 S win with yoptop okay I guess that would be the concleter anybody wants to see it with three 23:27.800 --> 23:38.920 desktop SDK so I guess we do it with yoptop and okay let's see we have five minutes I have here 23:39.720 --> 23:45.800 two box I have a USB cable actually that's board is kind of sweet it has a console 23:46.520 --> 23:59.720 USB chip integrated you just plug it in still uses USB micro for that let's see that's this one 24:07.400 --> 24:13.320 well somehow I knew that you guys want that option 24:15.800 --> 24:21.960 because already the rest of the card is plugged in let's fire it up 24:22.920 --> 24:46.200 woohoo so it does its boot loader thing yeah they I mean they use u boot I think 24 24:46.840 --> 24:55.320 something I mean we can back scroll a little bit later not so it boots system the e rules to 24:55.320 --> 25:08.120 burn not if if drunk new that that is not ruling the world anyway let's see we can go up 25:08.760 --> 25:19.800 so of course we have some boot ROM stuff first then we have some ramming the allization open SPI 25:20.520 --> 25:28.360 mentioned version one three actually it would it's merge now but the guy that worked on it 25:28.920 --> 25:36.040 I think it's one of the major open SPI main things I forgot the name but he says you can use 25:36.040 --> 25:43.880 downstream u boot with it but of course they did some bad assumptions with this old 25:43.880 --> 25:49.480 hacked up when the stuff so he has a patch for the downstream u boot to actually use it to 25:49.480 --> 25:57.400 get it with upstream open SPI would be something perfect for me to drive but I admit I haven't yet 25:57.800 --> 26:06.920 but that for this then of course yeah it's u boot 20 24 or 1 I mean downstream one not 26:08.760 --> 26:21.480 and yeah it kind of supports eFI not but here actually I boot with x-link it's just I don't know 26:21.560 --> 26:30.120 eFI for me since combo loot it just every time I try eFI I just have trouble with it I mean 26:31.560 --> 26:43.480 even on the freaking notebook it's a pain not I don't know yeah so this is 619 rc7 okay 26:43.480 --> 26:54.200 anything else you want to see yeah the warning hard warning I I posted about it on the main list by the way 26:54.200 --> 27:07.800 it's the clock control it's missing a flag and I posted that and the guy said he will add it in the next 27:07.800 --> 27:15.000 revision so hopefully we will I on purpose didn't fix it because I pointed him to my stuff here 27:15.000 --> 27:21.800 where he can see that it gives the warning okay and the other questions I mean I can show you the 27:38.280 --> 27:45.800 okay yeah it's a C5 P if I 50's not well you can see that the ISA's drink still fits on the 27:45.800 --> 28:01.960 side and the other questions anybody go ahead mark now I think I mean not with the hypervisor 28:01.960 --> 28:11.800 extension at a virtualization is not supported no hypervisor extension from this one yeah time is up thank you very much