On Fri, 15 Jan 2021 at 10:11, Maxim Uvarov <maxim.uva...@linaro.org> wrote: > > No functional change. Just refactor code to better > support secure and normal world gpios. > > Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> > ---
> @@ -847,21 +873,22 @@ static void create_gpio(const VirtMachineState *vms) > qemu_fdt_setprop_string(vms->fdt, nodename, "clock-names", "apb_pclk"); > qemu_fdt_setprop_cell(vms->fdt, nodename, "phandle", phandle); > > - gpio_key_dev = sysbus_create_simple("gpio-key", -1, > - qdev_get_gpio_in(pl061_dev, 3)); > - qemu_fdt_add_subnode(vms->fdt, "/gpio-keys"); > - qemu_fdt_setprop_string(vms->fdt, "/gpio-keys", "compatible", > "gpio-keys"); > - qemu_fdt_setprop_cell(vms->fdt, "/gpio-keys", "#size-cells", 0); > - qemu_fdt_setprop_cell(vms->fdt, "/gpio-keys", "#address-cells", 1); > + if (gpio == VIRT_GPIO) { > + qemu_fdt_setprop_string(vms->fdt, "/chosen", "stdout-path", > nodename); You don't want to set /chosen/stdout-path (that is specific to the uart, it's telling the kernel where it should send its bootup output by default). > + } else { > + /* Mark as not usable by the normal world */ > + qemu_fdt_setprop_string(vms->fdt, nodename, "status", "disabled"); > + qemu_fdt_setprop_string(vms->fdt, nodename, "secure-status", "okay"); > > - qemu_fdt_add_subnode(vms->fdt, "/gpio-keys/poweroff"); > - qemu_fdt_setprop_string(vms->fdt, "/gpio-keys/poweroff", > - "label", "GPIO Key Poweroff"); > - qemu_fdt_setprop_cell(vms->fdt, "/gpio-keys/poweroff", "linux,code", > - KEY_POWER); > - qemu_fdt_setprop_cells(vms->fdt, "/gpio-keys/poweroff", > - "gpios", phandle, 3, 0); > + qemu_fdt_setprop_string(vms->fdt, "/secure-chosen", "stdout-path", > + nodename); > + } Similarly here you don't want to set /secure-chosen/stdout-path. Patch looks OK otherwise. thanks -- PMM