Re: [PATCH] ARM: boards: Add support for todarex colibri imx6 on iris

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jonas,

On Fri, Dec 13, 2024 at 03:06:59PM +0100, Jonas Rebmann wrote:
> +static void eth_init(void)
> +{
> +        void __iomem *iomux = (void *)MX6_IOMUXC_BASE_ADDR;

IOMEM() instead of casting to void *.

> +ENTRY_FUNCTION(start_imx6dl_colibri_iris, r0, r1, r2)
> +{
> +	void *fdt;
> +
> +	imx6_cpu_lowlevel_init();
> +
> +	if (IS_ENABLED(CONFIG_DEBUG_LL)) {
> +		setup_uart();
> +	}
> +
> +	fdt = __dtb_z_imx6dl_colibri_iris_start + get_runtime_offset();
> +	barebox_arm_entry(0x10000000, SZ_512M, fdt);
> +}

Rather do a:

	relocate_to_current_adr();
	setup_c();

Then jump to a noinline function to continue startup.

Additionally to setting up the UART for _ll access you can do
a

	pbl_set_putc(imx_uart_putc, uart1base);

The advantage is that you no longer have to enable CONFIG_DEBUG_LL to
get early console output, but only CONFIG_PBL_CONSOLE.

You can do the UART setup unconditionally, no need to hide that behind
CONFIG_DEBUG_LL.

> +
> +ENTRY_FUNCTION(start_imx6s_colibri_iris, r0, r1, r2)
> +{
> +	void *fdt;
> +
> +	imx6_cpu_lowlevel_init();
> +
> +	if (IS_ENABLED(CONFIG_DEBUG_LL)) {
> +		setup_uart();
> +	}
> +
> +	fdt = __dtb_z_imx6dl_colibri_iris_start + get_runtime_offset();
> +	barebox_arm_entry(0x10000000, SZ_256M, fdt);
> +}

You should be able to call imx6q_barebox_entry() instead here. This
will read the amount of DRAM back from the controller. No need to
distinguish between both board anymore and you can merge both images
into one.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux