Hi Marek,
On 09/29/2015 10:45 AM, Marek Vasut wrote:
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -64,6 +64,9 @@ config NIOS2
select HAVE_GENERIC_BOARD
select SYS_GENERIC_BOARD
select SUPPORT_OF_CONTROL
+ select OF_CONTROL
+ select DM
+ select CPU
What's this CONFIG_CPU for please ?
drivers/cpu/Kconfig
It is "Enable CPU drivers using Driver Model". I think it should have
been named as CONFIG_DM_CPU to avoid confusion.
-int arch_cpu_init(void)
+int arch_cpu_init_dm(void)
{
- gd->cpu_clk = CONFIG_SYS_CLK_FREQ;
+ struct udevice *dev;
+
+ uclass_first_device(UCLASS_CPU, &dev);
+ if (!dev)
+ return -ENODEV;
+
+ gd->cpu_clk = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "clock-frequency", 0);
+ gd->arch.dcache_line_size = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "dcache-line-size", 0);
+ gd->arch.icache_line_size = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "icache-line-size", 0);
+ gd->arch.dcache_size = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "dcache-size", 0);
+ gd->arch.icache_size = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "icache-size", 0);
+ gd->arch.reset_addr = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "altr,reset-addr", 0);
+ gd->arch.exception_addr = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "altr,exception-addr", 0);
+ gd->arch.has_mmu = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+ "altr,has-mmu", 0);
Shouldn't there be some sort of return value checking here ?
There might be some. Though I would like to depend upon the sopc2dts
which generates the dts. I don't think these values should be tweaked by
a human. :)
+ info->features = 1 << CPU_FEAT_L1_CACHE
+ | (gd->arch.has_mmu ? 1 << CPU_FEAT_MMU : 0);
I'd add parenthesis around the bitshifts, for the sake of clarity.
Also, please put the ORR operator at the end of the line.
Will do as suggested.
Thanks a lot for your review.
Best regards,
Thomas Chou
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot