**** BEGIN LOGGING AT Tue Jun 09 02:59:57 2020 Jun 09 03:06:55 Abhishek_: I am recording video today. However there is little bit of information that i seek from you. You told me that the driver will write to a memory location which the PRU will check will control the peripherel accordingly. Can you share some links explaining it. Where is this memory location is it the shared memory location that the main processor and PRU shares or is it a registor of PRU itself Jun 09 06:09:02 @jkridner:matrix.org: fan cape was not available when you ordered everything for me. I am talking about the small passive cooling unit on top of the cpu, which comes preinstalled with the ai Jun 09 06:10:31 * nwan[m] uploaded an image: IMG-20200608-WA0003.jpg (202KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/ehAdNRmWxHWfZWXiTfzgjgRI > Jun 09 06:10:46 * nwan[m] uploaded an image: IMG-20200608-WA0002.jpg (259KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/gRoDKnSjueslOdUwUgOCJKnd > Jun 09 06:30:28 Abhishek_: pratimugale hendersa Python like indent based syntax is not possible with flex, so i want add { } to loops and functions, should i ? Jun 09 06:37:16 deepankarmaithan: seems like you've added a lot of other files on to the pr. can you try to revert the commit and push it again? Jun 09 08:00:41 Abhishek_ pdp7 ds2 jkridner Hi Jun 09 08:01:44 Hello! Jun 09 08:02:38 ds2: I am planning to work on beagle-tester this week. Jun 09 08:03:29 lorforlinux[m]: not familiar enough on that item Jun 09 08:03:44 I don't have a clear picture of how it really works internally. Jun 09 08:03:50 me too Jun 09 08:05:05 okay other than that I have to work on the BBAI pinheader compatibility part. Jun 09 08:05:23 jkridner should know more Jun 09 08:05:48 hows doc for that? Jun 09 08:06:59 you have a blog type thing setup? Jun 09 08:07:03 How to use steps are there and they are good, but for further development I would like to know how it internally works. Jun 09 08:07:32 lorforlinux[m]: sorry, I mean for the BBAI pin stuff. prehaps write up some charts to compare those 2? Jun 09 08:07:54 yes, https://lorforlinux.github.io/GSoC2020_BeagleBoard.org/ Jun 09 08:09:03 Yes, I was thinking about completing the `BeagleBoard-DeviceTrees/src/arm/am5729-beagleboneai.dts` file. Jun 09 08:09:46 lorforlinux[m]: that's still a text in the DT lang.. a plain chart comparing those 2 may be useful... Jun 09 08:10:13 lorforlinux[m]: what is suppose to be on that page? all I see is a large waving cat and something that looks like txt on the side but is obscured by the cat Jun 09 08:11:30 okay i will create a spreadsheet comparing two, I hope that's what you mean. Jun 09 08:12:04 lorforlinux[m]: I was just thinking of a simple table but a spreadsheet can work. spreadsheet seems overkill :D Jun 09 08:12:09 The home page shows two blog posts other than than there is a side menu button on upper left corner. Jun 09 08:12:58 lorforlinux[m]: hmmm don't think it is rendering right for me... let me see if I can find something else (I'm on firefox) Jun 09 08:12:59 okay Jun 09 08:14:44 * lorforlinux[m]1 uploaded a video: blog.mp4 (1217KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/KuivkskllCWFDBmPFBRnJtvt > Jun 09 08:14:49 same thing on another device.. the cat takes up the whole screen Jun 09 08:16:05 wow no one else tonight :D Jun 09 08:16:15 I have shared a video of the blog, can you see it? Jun 09 08:16:59 on sec Jun 09 08:17:11 got it Jun 09 08:17:19 that corner cat is 1/2 the screen on my browser! Jun 09 08:19:11 I created some nodes in this DT like `P9_42_default_pin : pinmux_P9_42_default_pin{...}` should i be using them for the DT overlays? Jun 09 08:20:16 You are on which machine? I tried android and using LInux here working fine on both. Jun 09 08:20:27 http://www.hy-research.com/tmp/screen.png Jun 09 08:20:30 tht's how it looks to me Jun 09 08:20:57 think it is browser related.. I am on firefox on Mint (Linux) Jun 09 08:21:47 same on android firefox Jun 09 08:21:50 okay Jun 09 08:22:01 *shrug* probally a CSS thing Jun 09 08:22:16 <-- fan of very simple web pages Jun 09 08:22:41 I am also using Firefox (maah favorite) Jun 09 08:23:14 *shrug* Jun 09 08:23:49 This DT loads before all the other DT files right? Jun 09 08:25:29 what do you man loads before all other DTs? Jun 09 08:25:40 DTs exists as a blob in memory Jun 09 08:26:30 I mean other DTs can over write the values and this is the base DT. Jun 09 08:27:12 I suppose you can say that... but that's not exactly what happens Jun 09 08:27:38 DT's are compiled into a single blob in the memory. All those different files are not there (except the case of overlays) Jun 09 08:27:42 okay please tell me what really happens Jun 09 08:28:00 at compile time, all the files are combined and the overrides resolved Jun 09 08:28:06 FDT right? Jun 09 08:28:18 you mean the FDT format? Jun 09 08:28:34 You have DTS and DTO (Source and Object respectively) Jun 09 08:28:42 flattened device tree blob Jun 09 08:28:55 the DTO can be packaged in 2359403249328409328042389403 different ways Jun 09 08:29:05 FDT is just one format Jun 09 08:29:15 sorry, dtb i mean. not dto Jun 09 08:29:38 šŸ¤£ Jun 09 08:30:18 what really matters is when the kernel gains control, it expects one of the registers to point to the dtb contents in memory Jun 09 08:30:42 okay how do it knows what to override? Jun 09 08:30:59 overrides happen at compile time unless you are talking about overlays Jun 09 08:31:38 ah I see where you are getting the terms Jun 09 08:31:49 FDT is the same as what I am call the DTB Jun 09 08:31:58 Yes I am interested in overlays, how does it overrides the values? Jun 09 08:32:19 I was confusing it with FIT images. Sorry about that Jun 09 08:32:52 ohh okay, I thought i created a fool of myself šŸ˜‚ Jun 09 08:32:57 Hi lorforlinux[m]1 , here Jun 09 08:33:07 Hey Abhishek_ Jun 09 08:34:00 vedant16[m]: Go ahead with braces, is OK Jun 09 08:34:35 how? it overlays it... that's the simpliest description Jun 09 08:37:29 Okay, in the case of BBAI cape overlays we are reconfiguring all the pins. Jun 09 08:39:12 that may be bad if they are different then the current state Jun 09 08:44:18 we don't have the pins preconfigures all pins are off atleast in the DT `am5729-beagleboneai.dts`. Jun 09 08:44:36 * lorforlinux[m]1 uploaded an image: image.png (392KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/IXYRvbLISMNiJckedfVjpYom > Jun 09 08:45:18 lorforlinux[m]: there is an added confusion - are you talking at DT as handled by the kernel or DT as handled by Uboot? Jun 09 08:45:59 I would like to know about the Uboot part. Jun 09 08:47:11 what part of it? Jun 09 08:48:54 we have a BeagleBone_Black.dts where we have defined some nodes for pin configuration but we are not using them anywhere, Is that possible to replace the BONE_P9_42() with this? Jun 09 08:49:50 that I don't know... I'd run that by RCN or jkridner to confirm that Jun 09 08:50:19 actually if you have any good reading material on Iboot please share that, I have to make sure i am asking the valid questions. Jun 09 08:51:49 other then the uboot source? Jun 09 08:52:17 I heard Robert is available on slack, Can we also join? Jun 09 08:52:29 I have no idea. I avoid slack Jun 09 08:52:43 > <@freenode_ds2:matrix.org> what part of it? Jun 09 08:52:43 * actually if you have any good reading material on Uboot please share that, I have to make sure i am asking the valid questions. Jun 09 08:52:49 I strongly prefer open protocols Jun 09 08:53:15 lorforlinux[m]: how the DT is handled in U-boot. the later versions of U-boot use DT to configure itself Jun 09 08:53:31 okay I think I have to dig into Uboot source code to know things better. Jun 09 08:53:46 aoery i am late Jun 09 08:54:04 Hi jkridner[m] Jun 09 08:54:16 hey jkridner[m] Jun 09 08:54:28 hey jkridner Jun 09 08:56:22 okay, I will learn more about u-boot SPL and then come back to you :) Jun 09 08:56:37 'k Jun 09 08:56:50 The timeslot has been harder for me than I thought. Jun 09 08:58:30 lorforlinux[m]1: The override of overlays happens based on the path I believe, either override or add entry to dt path Jun 09 08:58:56 He is. I'll add you so you can just address him. Jun 09 08:59:09 Keep the rest of the discussion here. Jun 09 09:00:43 I usually ask my questions to him over pull request discussion :) Jun 09 09:00:58 I do monitor this channel for questions so if you want to ask stuff during other times, that also works too Jun 09 09:01:51 okay, I guess I need some more time experimenting with the overlays. Jun 09 09:01:57 ds2: If you have some time once lorforlinux[m]1 ā€˜s discussion is over we can talk a bit about parallel bus too Jun 09 09:02:18 deepankarmaithan may be around right now Jun 09 09:02:46 okay thanks I will post some questions soon. Jun 09 09:03:05 Abhishek_: ask away Jun 09 09:03:26 invite sent. Jun 09 09:03:42 should we reconsider the timings? Jun 09 09:04:13 ds2: I did read about the bus subsystem in the kernel but couldnā€™t completely wrap my head around how it will implement parallel bus, ultimately you need a way to read/write data from or to it Jun 09 09:04:24 I hope I can get in the swing of it. It seems everyone else is here. Jun 09 09:04:45 jkridner: can you give some hints on how the beagle-tester works internally? Jun 09 09:05:53 ds2 : Hence suggestion to deepankar to start with a gpiochip driver to have something working first as a PoC Jun 09 09:06:00 Abhishek_: yes...couldn't we do what the SPI/I2C stuff does? essentially we need to implement a master "parallel" bus and the PRU provides an implementation of it using the PRU (conceiveably, GPMC could also be another) Jun 09 09:06:58 Abhishek_: doesn't gpiochip go in a different direction? I assume you mean exposing a 74xxx sitting on the parallel bus as GPIOs? Jun 09 09:07:25 ds2: yes Jun 09 09:07:44 Abhishek_: expressing that in the bus layering would require: Jun 09 09:08:03 I thought typically, rcn-ee's bootloader patches would be at https://github.com/RobertCNelson/Bootloader-Builder Jun 09 09:08:35 Pru-PBUS driver implementing things. It'd talk to the parallel bus subsystem Jun 09 09:08:55 LatchGPIO driver would talk to the parallel bus subsystem and implement GPIOS Jun 09 09:09:15 I had some copies of bootloader modifications here: https://github.com/beagleboard/beaglebone-ai/tree/master/SW/u-boot/patches/v2019.04 Jun 09 09:09:39 Not sure how much value would there be if you just have Pru consumer that just expose GPIOs Jun 09 09:09:46 ds2: And the read/write to the pbus is exposed as APIs? Jun 09 09:10:58 moving all of capemgr into u-boot itself, so that it can go into spl, seems like the right thing to do. Jun 09 09:11:51 Abhishek_: yes Jun 09 09:11:56 what parallel bus subsystem is that? Jun 09 09:12:14 jkridner[m]: that doesn't exist yet.. have to be written Jun 09 09:12:40 beagle-tester is very linear in execution. I'll point out the main loop.... Jun 09 09:13:09 yes, thanks for the links :) Jun 09 09:13:17 did you read the README.md? Jun 09 09:13:48 yes, I did read it. Jun 09 09:14:11 down in main(), you'll find the while() for normal execution. Jun 09 09:15:55 this for() loop reads any barcode scanner information: https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3182 Jun 09 09:16:38 if all the scanner input is handled, this loop grabs input from the command line: https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3363 Jun 09 09:17:28 if it is sitting idle (not running a test), having this in the loop causes the CISPR test pattern to run on the display: https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3369 Jun 09 09:18:06 lorforlinux (@lorforlinux:matrix.org): Jun 09 09:18:08 > think it is browser related.. I am on firefox on Mint (Linux) Jun 09 09:18:08 Even I'm on mint and firefox, looks fine here. I think that firefox privacy shield thing must be blocking js scripts Jun 09 09:18:32 this is how exiting happens: https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3376 Jun 09 09:20:15 This is the actual call to handle the input and run the test. Around this call, is the setup and display of pass/fail for the test. https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3381 Jun 09 09:21:35 jkridner: thank you so much, that's very helpful. Jun 09 09:24:27 need me to go futher? Jun 09 09:24:54 Maybe I should add some big comment blocks at those key points. Jun 09 09:25:45 okay Jun 09 09:25:47 sure Jun 09 09:28:32 I will go through the source code, just require enough info to create a clear picture while doing that Jun 09 09:31:52 beagle_notice both prints to the screen using fbdev as well as to the stdout. Jun 09 09:39:05 https://github.com/jadonk/beagle-tester/commit/4ac2f0c112ca15d8cda37fbb19cc6db095052605 Jun 09 09:39:27 ds2: I'm running a bit busy myself, hopefully by the end of June I have some time to write kernel code and accelerate things. Let's see Jun 09 09:40:40 ds2: What would the HW interface for the parallel bus look like according to you and what would the SW API look like? Jun 09 09:42:40 lorforlinux: let me know what questions about beagle-tester I didn't answer with these comments. Jun 09 09:43:27 the code is very big for what it does because it inherited a lot from fbest and evtest, which are pretty much just pasted into it. Jun 09 09:44:22 the hw - probally intel style given the limited pins Jun 09 09:44:43 D0-D7, A0, A1, A2, RD, WR Jun 09 09:44:54 where opening files and writing strings got too arduous, I just used system(): https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L3990 Jun 09 09:44:56 D[0-7], A[0-???] + ALE + RD/!WR Jun 09 09:45:23 doing it that way limits your address slave... Intel style with ALE gives you more address space Jun 09 09:45:41 14 bit of address space may be possible Jun 09 09:45:47 Ah correct D0-D7 can become A0-A7 as well Jun 09 09:45:51 for places where I did it a lot, like gpios, I did make a few functions: (gpio_out_test) https://github.com/jadonk/beagle-tester/blob/master/beagle-tester.c#L4144 Jun 09 09:46:15 Sure I will update you soon. Jun 09 09:46:30 it just makes testing a little bit more of a pain - an extra latch is needed Jun 09 09:47:05 lorforlinux: were you able to get the Slack invite for the purpose of chatting to rcn-ee about the u-boot code? Jun 09 09:47:31 SW API - attach(Address Range); Read(), Write() Jun 09 09:47:49 jkridner i have got the link i am joining now . Jun 09 09:48:07 may even make sense to have attach(Address Rnage, RD, WR, RDWR) Jun 09 09:48:13 and of course free/detach Jun 09 09:48:46 the PRU is providing another address space kind of like what intel does with the in/out instructions Jun 09 09:49:59 Yes, although in this case read/write is always through the functions and the MMU can't kick in Jun 09 09:50:10 So that's where the overhead is Jun 09 09:51:38 an potentially more interesting test case is a EPROM reader... couple that with a Atari 2600 emulator, we can support real cartridges :D Jun 09 09:52:14 Think hendersa is probably doing something like that with a CPLD Jun 09 09:53:21 CPLD may be an overkill... couple of PLDs should do it Jun 09 09:53:31 22V10's are pretty flexible Jun 09 10:11:32 I will learn bit more about u-boot SPL before asking my questions, I have asked him another doubt regarding DT overlays. Jun 09 10:14:21 this one Jun 09 10:17:49 If we can use those labels it would be nice as i have implemented same labels in the BBAI DT. The code will then use same labels for both boards (same references) Jun 09 12:29:18 i was not there unfortunatly Jun 09 12:30:14 jkridner: Abhishek_ saketh ds2 pdp7 . Here is my introductory video https://www.youtube.com/watch?v=cKxx8r4FRqY Jun 09 12:31:31 Thanks. Is it also linked on the elinux 2020_Projects page? Jun 09 12:32:31 linking now Jun 09 12:33:33 Abhishek_: I found llvm irc Jun 09 12:33:46 there is no llvm backend for PRU or RISC ISA Jun 09 12:39:12 * there is no llvm backend for PRU or RISC ISA Jun 09 12:39:13 So, i think we should stick to PRU C ? Jun 09 12:41:09 * there is no llvm backend for PRU or RISC ISA Jun 09 12:41:09 So, i think we should stick to PRU C ? or a handrolled code convertor which won't be optimised. Jun 09 12:42:03 * there is no llvm backend for PRU or RISC ISA Jun 09 12:42:03 So, i think we should stick to PRU C ? or a handrolled code convertor which will not generate optimised code. Jun 09 12:42:04 * Abhishek_ wonders how tough it is to write a backend Jun 09 12:42:44 Didnā€™t you find something for an LLVM backend once? Jun 09 12:42:54 * Abhishek_ looks through the logs Jun 09 12:43:53 https://github.com/bryant/llvm-pru/tree/master/PRU Jun 09 12:46:48 > Didnā€™t you find something for an LLVM backend once? Jun 09 12:46:48 Check the todo.md on that repo, a lot is not implemented. Jun 09 12:49:37 And it uses pasm Jun 09 12:49:54 PASM? Hmm Jun 09 12:56:37 Ok, retrieving the git repo and trying to build it Jun 09 12:57:41 There is not much difference in the instruction syntax of PASM and the clpru assembler Jun 09 12:58:21 lot of warnings been spewed around Jun 09 13:19:48 > PASM? Hmm Jun 09 13:19:48 Yup Jun 09 14:29:36 % ./clang -target PRU --version Jun 09 14:29:36 clang version 3.8.1 (git://github.com/llvm-mirror/clang 07a6361e0f32f699d47c124106e7911b584974d4) (git://github.com/llvm-mirror/llvm 051e787f26dbfdc26cf61a57bc82ca00dcb812e8) Jun 09 14:29:36 Target: PRU Jun 09 14:29:36 Thread model: posix Jun 09 14:29:58 So I actually built the PRU LLVM backend, let's see Jun 09 14:32:25 wait did you do this from this repo ? Jun 09 14:32:30 yep Jun 09 14:32:45 ohh nice. Jun 09 14:35:36 even the guy who ported gnu gcc should have used a llvm backend Jun 09 14:35:59 not really, gcc backend is a different piece altogether Jun 09 14:36:54 ohhh, does clpru have something similar ? Jun 09 14:46:10 yes, it would have but it's closed source unlike this LLVM backend and the GNUPRU backend Jun 09 14:46:22 Okay, so sample program test output - Jun 09 14:48:18 https://paste.debian.net/hidden/38cc076b/ Jun 09 14:48:38 vedant16[m]: Go ahead, build it and try playing with the backend a little Jun 09 14:51:00 The backend should not generate 100% optimized code for every case, but it should be predictable for small snippets Jun 09 14:51:21 "The backend should not generate 100% optimized code for every case" - at least for now Jun 09 14:51:28 for the scope of the GSoC Jun 09 14:59:09 Also you need a post assembly step for the PRU program Jun 09 14:59:24 as in, the backend emits assembly code. Jun 09 15:09:11 This can be done with clpru assembler. Jun 09 15:12:04 I get a error while building /bin/sh: 1: runghc: not found Jun 09 15:14:32 Yup agreed, but is it completely implemented / Jun 09 15:14:34 ?* Jun 09 15:14:47 TODO.md says a lot is left. Jun 09 15:28:02 * vedant16[m] uploaded an image: VectorImage_2020-06-09_085738.jpg (491KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/SAtgVlBBeriZmgSxDvfTRGZn > Jun 09 15:28:03 @abhishek_:matrix.org: how to solve this? Jun 09 15:55:49 jkridner: Discussed some things with rcn-ee on slack you might want to see that thread. He gave me the idea of generating two dto files overlay.dto and bbai_overlay.dto with some clever #define/#else and a Makefile patch :) Jun 09 16:57:33 vedant16[m]: Install Haskell Jun 09 16:57:57 done Jun 09 16:58:08 See if you have runghc now Jun 09 16:58:12 now this Jun 09 16:58:28 Canā€™t open Jun 09 16:58:31 Yes i installed it Jun 09 16:59:14 wait i will send a pastebin Jun 09 16:59:20 Mine is Mac so if there is something Linux specific then youā€™ll have to see Jun 09 17:00:58 https://termbin.com/906h Jun 09 17:01:07 i get this error Jun 09 17:02:17 I think this is not meant for newer llvm, it's 4 yr old Jun 09 17:03:17 It downloads appropriate llvm fir itself Jun 09 17:03:46 CMake or ninja ? Jun 09 17:04:20 Through cmake Jun 09 17:04:49 didnot in mine, should uninstall llvm and try? Jun 09 17:05:32 Itā€™d have, see llvm is from the ā€œthirdā€ directory in your tree Jun 09 17:05:40 It does not use system llvm Jun 09 17:05:56 Haa correct. Jun 09 17:06:09 I will retry once. Jun 09 17:06:43 Think there is a typo Jun 09 17:07:08 Nope there isnā€™t Jun 09 17:07:10 Where ? Jun 09 17:07:17 k Jun 09 17:07:26 Put relevant part of the error message into search Jun 09 17:07:45 And try again Jun 09 17:08:07 Usually if you put the error message you may get a fix Jun 09 17:08:32 It is some linux santizer error, Most hits are mailing list pages. Jun 09 17:09:15 Okay I am going offline for the day, let me know how it goes Jun 09 17:09:33 Okay, I will. Jun 09 17:47:04 Abhishek_: This is made for ubuntu 16.04, I'm on 18.04, this thread says so https://www.bountysource.com/issues/59501036-errors-on-ubuntu-18-04 **** ENDING LOGGING AT Wed Jun 10 02:59:57 2020