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