Loading drivers/of/fdt.c +26 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,32 @@ void of_fdt_limit_memory(int limit) } } /** * of_fdt_get_ddrtype - Return the type of ddr (4/5) on the current device * * On match, returns a non-zero positive value which matches the ddr type. * Otherwise returns -ENOENT. */ int of_fdt_get_ddrtype(void) { int memory; int len; int ret; fdt32_t *prop = NULL; memory = fdt_path_offset(initial_boot_params, "/memory"); if (memory > 0) prop = fdt_getprop_w(initial_boot_params, memory, "ddr_device_type", &len); if (!prop || len != sizeof(u32)) return -ENOENT; ret = fdt32_to_cpu(*prop); return ret; } /** * of_fdt_is_compatible - Return true if given node from the given blob has * compat in its compatible list Loading include/linux/of_fdt.h +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ extern char __dtb_end[]; /* Other Prototypes */ extern u64 of_flat_dt_translate_address(unsigned long node); extern void of_fdt_limit_memory(int limit); extern int of_fdt_get_ddrtype(void); #endif /* CONFIG_OF_FLATTREE */ #ifdef CONFIG_OF_EARLY_FLATTREE Loading Loading
drivers/of/fdt.c +26 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,32 @@ void of_fdt_limit_memory(int limit) } } /** * of_fdt_get_ddrtype - Return the type of ddr (4/5) on the current device * * On match, returns a non-zero positive value which matches the ddr type. * Otherwise returns -ENOENT. */ int of_fdt_get_ddrtype(void) { int memory; int len; int ret; fdt32_t *prop = NULL; memory = fdt_path_offset(initial_boot_params, "/memory"); if (memory > 0) prop = fdt_getprop_w(initial_boot_params, memory, "ddr_device_type", &len); if (!prop || len != sizeof(u32)) return -ENOENT; ret = fdt32_to_cpu(*prop); return ret; } /** * of_fdt_is_compatible - Return true if given node from the given blob has * compat in its compatible list Loading
include/linux/of_fdt.h +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ extern char __dtb_end[]; /* Other Prototypes */ extern u64 of_flat_dt_translate_address(unsigned long node); extern void of_fdt_limit_memory(int limit); extern int of_fdt_get_ddrtype(void); #endif /* CONFIG_OF_FLATTREE */ #ifdef CONFIG_OF_EARLY_FLATTREE Loading