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

Reply via email to