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

Reply via email to