[PATCH v2 31/38] ARM: orion5x: use DT to describe NOR on edmini_v2
Sebastian Hesselbarth
sebastian.hesselbarth at gmail.com
Wed Apr 23 04:29:02 PDT 2014
On 04/22/2014 11:26 PM, Thomas Petazzoni wrote:
> This commit converts the already partially DT-converted edmini_v2
> platform to use the Device Tree for NOR flash, using the Device Bus.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> ---
> .../dts/orion5x-lacie-ethernet-disk-mini-v2.dts | 43 ++++++++++++++-
> arch/arm/mach-orion5x/edmini_v2-setup.c | 62 ----------------------
> 2 files changed, 42 insertions(+), 63 deletions(-)
>
> diff --git a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
> index f0f2bcc..1ecddbe 100644
> --- a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
> +++ b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
> @@ -28,7 +28,8 @@
>
> soc {
> ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
> - <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>;
> + <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
> + <MBUS_ID(0x01, 0x0f) 0 0xfff80000 0x80000>;
> };
>
> gpio-keys {
> @@ -56,6 +57,46 @@
> };
> };
>
> +&devbus_bootcs {
> + status = "okay";
> +
> + /* Read parameters */
> + devbus,bus-width = <8>;
> + devbus,turn-off-ps = <90000>;
> + devbus,badr-skew-ps = <0>;
> + devbus,acc-first-ps = <186000>;
> + devbus,acc-next-ps = <186000>;
> +
> + /* Write parameters */
> + devbus,wr-high-ps = <90000>;
> + devbus,wr-low-ps = <90000>;
> + devbus,ale-wr-ps = <90000>;
> +
> + /*
> + * Currently the MTD code does not recognize the MX29LV400CBCT
> + * as a bottom-type device. This could cause risks of
> + * accidentally erasing critical flash sectors. We thus define
> + * a single, write-protected partition covering the whole
> + * flash. TODO: once the flash part TOP/BOTTOM detection
> + * issue is sorted out in the MTD code, break this into at
> + * least three partitions: 'u-boot code', 'u-boot environment'
> + * and 'whatever is left'.
> + */
> + flash at 0 {
> + compatible = "cfi-flash";
> + reg = <0 0x80000>;
> + bank-width = <1>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "Full512Kb";
> + reg = <0 0x80000>;
> + read-only;
> + };
> + };
> +};
> +
> &ehci0 {
> status = "okay";
> };
> diff --git a/arch/arm/mach-orion5x/edmini_v2-setup.c b/arch/arm/mach-orion5x/edmini_v2-setup.c
> index 2eebc0c..6bef2d5 100644
> --- a/arch/arm/mach-orion5x/edmini_v2-setup.c
> +++ b/arch/arm/mach-orion5x/edmini_v2-setup.c
> @@ -42,74 +42,12 @@
> * EDMINI_V2 Info
> ****************************************************************************/
>
> -/*
> - * 512KB NOR flash Device bus boot chip select
> - */
> -
> -#define EDMINI_V2_NOR_BOOT_BASE 0xfff80000
> -#define EDMINI_V2_NOR_BOOT_SIZE SZ_512K
> -
> -/*****************************************************************************
> - * 512KB NOR Flash on BOOT Device
> - ****************************************************************************/
> -
> -/*
> - * Currently the MTD code does not recognize the MX29LV400CBCT as a bottom
> - * -type device. This could cause risks of accidentally erasing critical
> - * flash sectors. We thus define a single, write-protected partition covering
> - * the whole flash.
> - * TODO: once the flash part TOP/BOTTOM detection issue is sorted out in the MTD
> - * code, break this into at least three partitions: 'u-boot code', 'u-boot
> - * environment' and 'whatever is left'.
> - */
> -
> -static struct mtd_partition edmini_v2_partitions[] = {
> - {
> - .name = "Full512kb",
> - .size = 0x00080000,
> - .offset = 0x00000000,
> - .mask_flags = MTD_WRITEABLE,
> - },
> -};
> -
> -static struct physmap_flash_data edmini_v2_nor_flash_data = {
> - .width = 1,
> - .parts = edmini_v2_partitions,
> - .nr_parts = ARRAY_SIZE(edmini_v2_partitions),
> -};
> -
> -static struct resource edmini_v2_nor_flash_resource = {
> - .flags = IORESOURCE_MEM,
> - .start = EDMINI_V2_NOR_BOOT_BASE,
> - .end = EDMINI_V2_NOR_BOOT_BASE
> - + EDMINI_V2_NOR_BOOT_SIZE - 1,
> -};
> -
> -static struct platform_device edmini_v2_nor_flash = {
> - .name = "physmap-flash",
> - .id = 0,
> - .dev = {
> - .platform_data = &edmini_v2_nor_flash_data,
> - },
> - .num_resources = 1,
> - .resource = &edmini_v2_nor_flash_resource,
> -};
> -
> /*****************************************************************************
> * General Setup
> ****************************************************************************/
>
> void __init edmini_v2_init(void)
> {
> - /*
> - * Configure peripherals.
> - */
> - mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET,
> - ORION_MBUS_DEVBUS_BOOT_ATTR,
> - EDMINI_V2_NOR_BOOT_BASE,
> - EDMINI_V2_NOR_BOOT_SIZE);
> - platform_device_register(&edmini_v2_nor_flash);
> -
> pr_notice("edmini_v2: USB device port, flash write and power-off "
> "are not yet supported.\n");
> }
>
More information about the linux-arm-kernel
mailing list