Loading arch/sh/Kconfig +20 −0 Original line number Diff line number Diff line Loading @@ -739,6 +739,26 @@ endmenu menu "Boot options" config USE_BUILTIN_DTB bool "Use builtin DTB" default n depends on SH_DEVICE_TREE help Link a device tree blob for particular hardware into the kernel, suppressing use of the DTB pointer provided by the bootloader. This option should only be used with legacy bootloaders that are not capable of providing a DTB to the kernel, or for experimental hardware without stable device tree bindings. config BUILTIN_DTB_SOURCE string "Source file for builtin DTB" default "" depends on USE_BUILTIN_DTB help Base name (without suffix, relative to arch/sh/boot/dts) for the a DTS file that will be used to produce the DTB linked into the kernel. config ZERO_PAGE_OFFSET hex default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ Loading arch/sh/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ head-y := arch/sh/kernel/head_$(BITS).o core-y += arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ core-$(CONFIG_USE_BUILTIN_DTB) += arch/sh/boot/dts/ # Mach groups machdir-$(CONFIG_SOLUTION_ENGINE) += mach-se machdir-$(CONFIG_SH_HP6XX) += mach-hp6xx Loading arch/sh/boards/of-generic.c +12 −3 Original line number Diff line number Diff line Loading @@ -124,13 +124,22 @@ static void __init sh_of_time_init(void) static void __init sh_of_setup(char **cmdline_p) { struct device_node *root; #ifdef CONFIG_USE_BUILTIN_DTB unflatten_and_copy_device_tree(); #else unflatten_device_tree(); #endif board_time_init = sh_of_time_init; sh_mv.mv_name = of_flat_dt_get_machine_name(); if (!sh_mv.mv_name) sh_mv.mv_name = "Unknown SH model"; root = of_find_node_by_path("/"); if (root) { of_property_read_string(root, "model", &sh_mv.mv_name); of_node_put(root); } sh_of_smp_probe(); } Loading arch/sh/boot/dts/Makefile 0 → 100644 +3 −0 Original line number Diff line number Diff line obj-$(CONFIG_USE_BUILTIN_DTB) += $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_SOURCE)).dtb.o clean-files := *.dtb.S arch/sh/kernel/setup.c +4 −0 Original line number Diff line number Diff line Loading @@ -251,7 +251,11 @@ void __ref sh_fdt_init(phys_addr_t dt_phys) /* Avoid calling an __init function on secondary cpus. */ if (done) return; #ifdef CONFIG_USE_BUILTIN_DTB dt_virt = __dtb_start; #else dt_virt = phys_to_virt(dt_phys); #endif if (!dt_virt || !early_init_dt_scan(dt_virt)) { pr_crit("Error: invalid device tree blob" Loading Loading
arch/sh/Kconfig +20 −0 Original line number Diff line number Diff line Loading @@ -739,6 +739,26 @@ endmenu menu "Boot options" config USE_BUILTIN_DTB bool "Use builtin DTB" default n depends on SH_DEVICE_TREE help Link a device tree blob for particular hardware into the kernel, suppressing use of the DTB pointer provided by the bootloader. This option should only be used with legacy bootloaders that are not capable of providing a DTB to the kernel, or for experimental hardware without stable device tree bindings. config BUILTIN_DTB_SOURCE string "Source file for builtin DTB" default "" depends on USE_BUILTIN_DTB help Base name (without suffix, relative to arch/sh/boot/dts) for the a DTS file that will be used to produce the DTB linked into the kernel. config ZERO_PAGE_OFFSET hex default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ Loading
arch/sh/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ head-y := arch/sh/kernel/head_$(BITS).o core-y += arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ core-$(CONFIG_USE_BUILTIN_DTB) += arch/sh/boot/dts/ # Mach groups machdir-$(CONFIG_SOLUTION_ENGINE) += mach-se machdir-$(CONFIG_SH_HP6XX) += mach-hp6xx Loading
arch/sh/boards/of-generic.c +12 −3 Original line number Diff line number Diff line Loading @@ -124,13 +124,22 @@ static void __init sh_of_time_init(void) static void __init sh_of_setup(char **cmdline_p) { struct device_node *root; #ifdef CONFIG_USE_BUILTIN_DTB unflatten_and_copy_device_tree(); #else unflatten_device_tree(); #endif board_time_init = sh_of_time_init; sh_mv.mv_name = of_flat_dt_get_machine_name(); if (!sh_mv.mv_name) sh_mv.mv_name = "Unknown SH model"; root = of_find_node_by_path("/"); if (root) { of_property_read_string(root, "model", &sh_mv.mv_name); of_node_put(root); } sh_of_smp_probe(); } Loading
arch/sh/boot/dts/Makefile 0 → 100644 +3 −0 Original line number Diff line number Diff line obj-$(CONFIG_USE_BUILTIN_DTB) += $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_SOURCE)).dtb.o clean-files := *.dtb.S
arch/sh/kernel/setup.c +4 −0 Original line number Diff line number Diff line Loading @@ -251,7 +251,11 @@ void __ref sh_fdt_init(phys_addr_t dt_phys) /* Avoid calling an __init function on secondary cpus. */ if (done) return; #ifdef CONFIG_USE_BUILTIN_DTB dt_virt = __dtb_start; #else dt_virt = phys_to_virt(dt_phys); #endif if (!dt_virt || !early_init_dt_scan(dt_virt)) { pr_crit("Error: invalid device tree blob" Loading