Hi Steven, Some changes were pushed out last night to Github which may have fixed your issue of not being able to tftpboot. When I use the CONFIG_TK1_INSECURE config setting, once the device successfully boots I can see 6000d000.gpio under /sys/devices/soc0 however I haven't tested that they actually work.
If you aren't using the CONFIG_TK1_INSECURE config, then in addition to configuring the mmios and interrupts in the cmakes file you also need to add them to the linux_pt_irqs struct in projects/vm/components/VM/src/tk1_vmlinux.c. Kind regards, Kent. ________________________________________ From: Steven Johnston <[email protected]> Sent: Wednesday, May 24, 2017 6:12 AM To: Mcleod, Kent (Data61, Kensington NSW); [email protected] Subject: Re: [seL4] camkes-arm-vm not registering GPIO? Hi Kent, Thank you for the direction. I set CONFIG_TK1_INSECURE in the kernel config and rebuilt the TK1 image however I was unable to successfully tftpboot. Rather than pull in all insecure TK1 devices I specifically added only the GPIO MMIO and Interrupts in projects/vm/components/VM/vm_common.camkes: . . . #ifdef CONFIG_PLAT_TK1 vm.untyped_mmios = [ "0x50046000:12", // Interrupt Controller Virtual CPU interface (Virtual Machine view) "0x60004000:12", // Interrupt controller registers (ICTLR) "0x6000d000:12", // GPIOS 1-8 "0x700b0000:12", // SDMMC-1, SDMMC-2, SDMMC-3, SDMMC-4, . . . vm.irqs = [27, // INTERRUPT_VGPT (INTERRUPT_PPI_11) 53, // INTERRUPT_USB2 63, // INTERRUPT_SDMMC4 64, // INTERRUPT_GPIO1 65, // INTERRUPT_GPIO2 66, // INTERRUPT_GPIO3 67, // INTERRUPT_GPIO4 87, // INTERRUPT_GPIO5 119, // INTERRUPT_GPIO6 121, // INTERRUPT_GPIO7 122, // INTERRUPT_UARTD 129, // INTERRUPT_USB3 157, // INTERRUPT_GPIO8 . . . Doing this allows me to tftpboot but still see GPIO devices failing to register (and no GPIO devices in /sys). Right now my questions are: (1) Are you able to successfully enable CONFIG_TK1_INSECURE and boot on the TK1? (2) Are there more devices/interrupts other than GPIO specific ones that need to be pulled into the config for GPIO to function? Steven On 05/10/17 00:26, [email protected] wrote: > Hi Steven, > > Your problem could be that the GPIO MMIO frame is not being given to the VM. > The config setting CONFIG_TK1_INSECURE increases the amount of hardware > devices that are > passed through to the VM. Once the GPIO device is accessible in the VM, > Linux should be able to attach its own GPIO driver which will then make it > accessible through sysfs. > > Currently on TK1 there isn't support for virtualisation of the GPIO hardware > so you can either give Linux access to the hardware frames to manage GPIO > hardware itself, or use a limited seL4 gpio driver in a separate CAmkES > component but this wouldn't be accessible from on top of Linux unless you > created your own virtual device. > Hope this helps. > > Kind regards, > Kent > ________________________________________ > From: Devel <[email protected]> on behalf of Steven Johnston > <[email protected]> > Sent: Tuesday, May 9, 2017 9:45 AM > To: [email protected] > Subject: [seL4] camkes-arm-vm not registering GPIO? > > Hi All, > > I am playing around with the capabilities of the camkes-arm-vm project > pn the Tegra TK1 and and wondering if someone else has come across this > issue. It looks like GPIO functionality is not available in the buildroot. > > I can confirm the GPIO source is present and is being built: > > camkes-arm-vm/libs/libplatsupport/rc/plat/tk1/gpio.c > camkes-arm-vm/libs/libplatsupport/plat_include/tk1/platsupport/plat/gpio.h > > [CC] src/plat/tk1/gpio.o > > > The expected sysfs support is not present and looking and the relevant > dmesg: > > # dmesg | grep gpio > > [ 0.057543] gpiochip_add: GPIOs 0..255 (tegra-gpio) failed to register > [ 1.485061] input: gpio-keys as /devices/soc0/gpio-keys/input/input0 > > > Any thoughts on what could be causing GPIO to the failing to register? > > > Steven > > > > > _______________________________________________ > Devel mailing list > [email protected] > https://sel4.systems/lists/listinfo/devel > _______________________________________________ Devel mailing list [email protected] https://sel4.systems/lists/listinfo/devel
