IRC log of #cubox of Sun 06 May 2018. All times are in CEST < Back to index

09:06 topi`> jnettlet[m]: I believe the biggest drain on the IMX6 in suspend is DRAM, so most of those 60 mA are probably going to just refresh the DRAM. Maybe there would be a way to suspend the kernel to flash and then have a 3600-second timer bring the system back to life to sample some sensors?
09:07 topi`> most SoCs these days have a companion risc core. Like the Allwinner H3 has an openrisc core that is totally hacker-programmable
09:09 jnettlet[m]> topi`: yeah. In theory you could do that but it would be a bit slow. You can in fact move the S/R functions to run from SRAM. This would allow dram to be powered down and still wake the chip back up and load the kernel.
10:16 topi`> strange thing. I've hooked up a 27" dell 2K monitor to the HB gate and most times my buildroot image, when booting, will output a 2048x1024 picture on screen just fine on /dev/fb0 but this time the monitor complains No Signal
10:17 topi`> I'm pretty sure that if I now reboot the board, it will give some picture once again. I just wonder what can explain this irrational behaviour?
10:17 topi`> this monitor is the newest part of my setup, so I'm inclined to lay the blame on it
10:18 topi`> btw, for Macbook Pro owners or other laptops where the video out is via USB-C , this is a very nice display, it can do 2K over the usb-c cable just fine
10:18 topi`> 4K is still a tad more expensive that I could see benefit from
10:19 topi`> jnettlet[m]: what kind of facilities does the IMX6 have for running code from SRAM? can the cortex-a9 actually fetch insns from SRAM?
10:19 topi`> oh, of course it has to, because that's how BootROM operates. You only have SRAM at that point.
10:20 topi`> jnettlet[m]: I think the kernel already has some facilities for suspending everything to disk. That could be used with eMMC since it has decent write speeds
10:21 topi`> the only question is, how often does the system need to wake up - soon the benefits will be eaten by the high power cost of hibernate/resume
10:22 topi`> ideally there would be some interrupt coming from GPS that indicates the device is no longer in the same place
10:23 topi`> maybe that should come off of an accelerometer instead, GPS is power consuming
10:30 jnettlet[m]> topi`: I think ideally would find a GPS module with some embedded storage. Then you could collect position location there and only update it when necessary.
10:30 topi`> yeah, it's the monitor. I swapped to a cheaper HDMI display and now I see the two penguins right off the start of the kernel
10:31 topi`> it's funny that although I say console=ttymxc0 at the boot params, it still gives me video
10:31 topi`> so, video, albeit not with the virtual consoles
10:32 topi`> jnettlet[m]: I think a product needs some possibilities for customisation and thus I will ignore ready-made GPS devices :)
10:32 jnettlet[m]> topi`: so that resolution is probably borderline on the frequency needed to meet the timing specs using the default clocks.
10:33 jnettlet[m]> I think xobs had written a patch that changed the hdmi default parent to support slightly faster displays
10:35 bencoh> jnettlet[m]: imx6 runs code from internal sram during some special operations (when entering/exiting from suspend state or deep cpu idle state, when putting DRAM to refresh / low power mode, when changing bus frequency, for instance)
10:35 bencoh> or at boot, before DRAM controller is initialized with proper configuration
10:35 bencoh> (before loading uboot, basically)
10:36 topi`> what kind of power consumption can a 1 GB DDR3 chip have? any ballpark figure?
10:36 bencoh> woops, that was for topi` obviously
10:36 topi`> obviously there's some differenve between DDR3 and LPDDR3
10:36 bencoh> definitely :)
10:37 topi`> I mean, it would be the holy grail of linux on embedded-like-appliances: when the device is not doing anything, it could shut down DRAM entirely, thus enabling really long use times from a battery
10:37 topi`> why do we use linux? because it's cheap and easy, compared to the compilicated world of embedded
10:37 bencoh> it's really not the "holy grail", some devices already do it
10:37 topi`> which basically requires years of experience from the embedded world
10:38 bencoh> well, they don't completely turn DRAM off, but instead put it in some low-power mode
10:38 topi`> I prefer the linux ipv4 stack over any of those embedded world stuff
10:38 topi`> bencoh: so, basically delaying the refresh cycle to consume less?
10:39 bencoh> so you're basically just periodically refreshing DRAM to prevent erasure
10:39 bencoh> with a really low cycle
10:39 bencoh> (actually you don't really do anything apart from configuring it)
10:39 topi`> I wonder if only certain banks of DRAM could be refreshed
10:40 topi`> since 1 GB of ram is quite plenty... often, you could load the kernel and the app in just 64 MB
10:40 topi`> heck, I started using Linux on a 4 MB machine
10:40 topi`> of course the kernel was much, much simpler back then
10:40 Ke> and the userland
10:41 topi`> yeah, glibc was so lean there was no need for newlib :)
10:41 Ke> I don't think I have seen any typical linux system with less than 32MiB of mem
10:42 topi`> not if you have to drive a HDMI as well. But headless, could probably work
10:42 topi`> dropping the USB stack alone frees up huge gobs of RAM
10:43 topi`> I think USB stack is even bigger than PCIe stack
10:54 jnettlet[m]> topi`: some ddr chips, and even fewer memory controllers have a functionality called PASR partial array self refresh. This allows you to power down certain regions of the DDR chip to save power.
10:55 jnettlet[m]> The only place I ran into this was the Marvell chip we used for the OLPC-4 had support for it, but it was never stable enough to put into production.
10:56 jnettlet[m]> but this is also what drove the initial linux patches to support hotplugging DDR
15:08 suihkulokki> bent mcbin uart microusb port by moving laptop when usb wire connected :-/
15:08 suihkulokki> still works but damn take care of it
17:00 jnettlet[m]> suihkulokki: as long as you don't need to do uart recovery you can configure u-boot to use one of the internal uarts and to pass that to linux as the main console.
17:01 jnettlet[m]> since you can use the bootselect to choose between SPI/eMMC/SDHC you can always do recovery via SDHC
17:02 Ke> would be cool to have a IO panel, perhaps it would have helped a bit
18:38 jnettlet[m]> Ke: I am working on a microcontroller setup to work as a BMC. The 2 form factors I am looking at are 1) DVD panel, 2 PCIe mount in the rear.
18:38 jnettlet[m]> ideally they would be the same form factor with different mounting options.
18:39 jnettlet[m]> other ideas?
19:04 vpeter> jnettlet[m]: what is bmc?
19:05 jnettlet[m]> Board(BaseBoard) Management Controller
19:06 vpeter> newer heard of it :)
19:13 jnettlet[m]> vpeter: they are normal in large servers. They allow you an out of band management interface. Lots of older systems use IPMI, but RedFish is the newer protocol.
19:14 jnettlet[m]> basically it is a remote interface to get a console, get sensor data, do a hard power-off etc.
19:17 vpeter> Ah, this thing. Yes, very usable.
20:54 Ke> jnettlet[m]: I mean just the metal plate that fills the hole in the back of the case
20:55 jnettlet[m]> Ke, I have a 3d model.
20:55 jnettlet[m]> You have access to a printer?
20:57 Ke> sure
21:04 jnettlet[m]> What print size? I have one model that prints in 2 pieces for smaller printers.
21:06 Ke> not sure
21:06 jnettlet[m]> Well I can post both.
21:06 Ke> I think I could print the single piece one somewhere
21:07 Ke> 20x20x20 cm
21:07 Ke> at Sello kirjasto, also accessible to at least suihkulokki possibly also topi`
21:07 Ke> kirjasto meaning library
21:08 Ke> https://hakemisto.kirjastot.fi/sello
21:08 Ke> it even has english option, but probably not relevant