mtd/m25p80: add device tree probe support
Subsystems (2)
PATCH 1/1 mtd/m25p80: add device tree probe support
It adds device tree probe support for m25p80 driver.
--- Documentation/devicetree/bindings/mtd/st-m25p.txt | 14 ++++++++++++++ drivers/mtd/devices/m25p80.c | 12 ++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/st-m25p.txt
Documentation/devicetree/bindings/mtd/st-m25p.txt new file +14 -0
@@ -0,0 +1,14 @@ +* STMicroelectronics SPI Flash + +Required properties: +- compatible : "st,<model>", "st,m25p". + +Examples: + +flash: m25p32 at 1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "st,m25p32", "st,m25p"; + spi-max-frequency = <20000000>; + reg = <1>; +};
drivers/mtd/devices/m25p80.c +12 -0
@@ -26,6 +26,7 @@#include <linux/slab.h> #include <linux/sched.h> #include <linux/mod_devicetable.h> +#include <linux/of_device.h> #include <linux/mtd/cfi.h> #include <linux/mtd/mtd.h>
@@ -767,6 +768,16 @@ static const struct spi_device_id m25p_ids[] = { };MODULE_DEVICE_TABLE (spi, m25p_ids); +#ifdef CONFIG_OF +static const struct of_device_id m25p_dt_ids[] = { + { .compatible ="st,m25p" , }, + {/* sentinel */ } +}; +MODULE_DEVICE_TABLE (of, m25p_dt_ids); +#else +#define m25p_dt_ids NULL +#endif +static const struct spi_device_id *__devinit jedec_probe (struct spi_device *spi) {int tmp;
@@ -986,6 +997,7 @@ static struct spi_driver m25p80_driver = { .name = "m25p80", .bus = &spi_bus_type, .owner = THIS_MODULE, + .of_match_table = m25p_dt_ids, }, .id_table = m25p_ids, .probe = m25p_probe,
Signature · 1 line
1.7.4.1
PATCH 1/1 mtd/m25p80: add device tree probe support
Quoted 5 lines · Shawn Guo
It adds device tree probe support for m25p80 driver.
Signed-off-by Shawn Guo <[email protected]>Cc Grant Likely <[email protected]>Cc Artem Bityutskiy <[email protected]>
Quoted 67 lines
--- Documentation/devicetree/bindings/mtd/st-m25p.txt | 14 ++++++++++++++ drivers/mtd/devices/m25p80.c | 12 ++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/st-m25p.txtDocumentation/devicetree/bindings/mtd/st-m25p.txt new file +14
-0@@ -0,0 +1,14 @@ +* STMicroelectronics SPI Flash + +Required properties: +- compatible : "st,<model>", "st,m25p". + +Examples: + +flash: m25p32 at 1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "st,m25p32", "st,m25p"; + spi-max-frequency = <20000000>; + reg = <1>; +};drivers/mtd/devices/m25p80.c +12
-0@@ -26,6 +26,7 @@#include <linux/slab.h> #include <linux/sched.h> #include <linux/mod_devicetable.h> +#include <linux/of_device.h> #include <linux/mtd/cfi.h> #include <linux/mtd/mtd.h> @@ -767,6 +768,16 @@ static const struct spi_device_id m25p_ids[] = { };MODULE_DEVICE_TABLE (spi, m25p_ids); +#ifdef CONFIG_OF +static const struct of_device_id m25p_dt_ids[] = { + { .compatible ="st,m25p" , }, + {/* sentinel */ } +}; +MODULE_DEVICE_TABLE (of, m25p_dt_ids); +#else +#define m25p_dt_ids NULL +#endif +static const struct spi_device_id *__devinit jedec_probe (struct spi_device *spi) {int tmp;@@ -986,6 +997,7 @@ static struct spi_driver m25p80_driver = { .name = "m25p80", .bus = &spi_bus_type, .owner = THIS_MODULE, + .of_match_table = m25p_dt_ids, }, .id_table = m25p_ids, .probe = m25p_probe,Signature · 1 line
1.7.4.1
PATCH 1/1 mtd/m25p80: add device tree probe support
Dear Grant, Shawn,
I don't this patch is required as m25p** serial flashes are supported already with generic OF/SPI and OF/MTD schemes.
I have successfully used it myself on an unmodified 2.6.36.3 vanilla kernel on a xilinx/powerpc platform with a m25p32 part from STM. You will find attached the corresponding working defconfig + dts files (appart from partitions which I didn't managed to configure properly...). Best Regards,
Manuel
Le 25/07/2011 23:19, Grant Likely a ?crit :
Quoted 70 lines · Shawn Guo
Quoted 5 lines
It adds device tree probe support for m25p80 driver.
Signed-off-by Shawn Guo<[email protected]>Cc Grant Likely<[email protected]>Cc Artem Bityutskiy<[email protected]>Acked-by Grant Likely<[email protected]>Quoted 63 lines
--- Documentation/devicetree/bindings/mtd/st-m25p.txt | 14 ++++++++++++++ drivers/mtd/devices/m25p80.c | 12 ++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-)create mode 100644
Documentation/devicetree/bindings/mtd/st-m25p.txtDocumentation/devicetree/bindings/mtd/st-m25p.txt new file +14
-0@@ -0,0 +1,14 @@ +* STMicroelectronics SPI Flash + +Required properties: +- compatible : "st,<model>", "st,m25p". + +Examples: + +flash: m25p32 at 1 { + #address-cells =<1>; + #size-cells =<1>; + compatible = "st,m25p32", "st,m25p"; + spi-max-frequency =<20000000>; + reg =<1>; +};drivers/mtd/devices/m25p80.c +12
-0@@ -26,6 +26,7 @@#include <linux/slab.h> #include <linux/sched.h> #include <linux/mod_devicetable.h> +#include <linux/of_device.h> #include <linux/mtd/cfi.h> #include <linux/mtd/mtd.h> @@ -767,6 +768,16 @@ static const struct spi_device_id m25p_ids[] = { };MODULE_DEVICE_TABLE (spi, m25p_ids); +#ifdef CONFIG_OF +static const struct of_device_id m25p_dt_ids[] = { + { .compatible ="st,m25p" , }, + {/* sentinel */ } +}; +MODULE_DEVICE_TABLE (of, m25p_dt_ids); +#else +#define m25p_dt_ids NULL +#endif +static const struct spi_device_id *__devinit jedec_probe (struct spi_device *spi) {int tmp;@@ -986,6 +997,7 @@ static struct spi_driver m25p80_driver = { .name = "m25p80", .bus =&spi_bus_type, .owner = THIS_MODULE, + .of_match_table = m25p_dt_ids, }, .id_table = m25p_ids, .probe = m25p_probe,
Quoted 10 lines
Quoted 4 lines
Signature · 1 line
1.7.4.1_______________________________________________
devicetree-discuss mailing list
devicetree-discuss at lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sample_defconfig
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110728/584402c8/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sample_devtree.dts
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110728/584402c8/attachment-0003.ksh>
PATCH 1/1 mtd/m25p80: add device tree probe support
Quoted 11 lines · manu
Dear Grant, Shawn,
I don't this patch is required as m25p** serial flashes are supported already with generic OF/SPI and OF/MTD schemes. I have successfully used it myself on an unmodified 2.6.36.3 vanilla kernel on a xilinx/powerpc platform with a m25p32 part from STM. You will find attached the corresponding working defconfig + dts files (appart from partitions which I didn't managed to configure properly...).
Best Regards,Manuel
There is a heuristic which allows spi and i2c devices to get bound without a match table, which is why it works for you, but there is no guarantee that the heuristic will continue to exist in the long term. This is still probably the right thing to do.
g.
Quoted 1,018 lines
Le 25/07/2011 23:19, Grant Likely a ?crit :
Quoted 70 lines · Shawn Guo
Quoted 5 lines
It adds device tree probe support for m25p80 driver.
Signed-off-by Shawn Guo<[email protected]>Cc Grant Likely<[email protected]>Cc Artem Bityutskiy<[email protected]>Acked-by Grant Likely<[email protected]>Quoted 63 lines
--- Documentation/devicetree/bindings/mtd/st-m25p.txt | 14 ++++++++++++++ drivers/mtd/devices/m25p80.c | 12 ++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/st-m25p.txtDocumentation/devicetree/bindings/mtd/st-m25p.txt new file +14
-0@@ -0,0 +1,14 @@ +* STMicroelectronics SPI Flash + +Required properties: +- compatible : "st,<model>", "st,m25p". + +Examples: + +flash: m25p32 at 1 { + #address-cells =<1>; + #size-cells =<1>; + compatible = "st,m25p32", "st,m25p"; + spi-max-frequency =<20000000>; + reg =<1>; +};drivers/mtd/devices/m25p80.c +12
-0@@ -26,6 +26,7 @@#include <linux/slab.h> #include <linux/sched.h> #include <linux/mod_devicetable.h> +#include <linux/of_device.h> #include <linux/mtd/cfi.h> #include <linux/mtd/mtd.h> @@ -767,6 +768,16 @@ static const struct spi_device_id m25p_ids[] = { };MODULE_DEVICE_TABLE (spi, m25p_ids); +#ifdef CONFIG_OF +static const struct of_device_id m25p_dt_ids[] = { + { .compatible ="st,m25p" , }, + {/* sentinel */ } +}; +MODULE_DEVICE_TABLE (of, m25p_dt_ids); +#else +#define m25p_dt_ids NULL +#endif +static const struct spi_device_id *__devinit jedec_probe (struct spi_device *spi) {int tmp;@@ -986,6 +997,7 @@ static struct spi_driver m25p80_driver = { .name = "m25p80", .bus =&spi_bus_type, .owner = THIS_MODULE, + .of_match_table = m25p_dt_ids, }, .id_table = m25p_ids, .probe = m25p_probe,Quoted 10 lines
Quoted 4 lines
Signature · 1 line
1.7.4.1_______________________________________________
devicetree-discuss mailing list
devicetree-discuss at lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.36.3
# Wed Feb 9 11:27:22 2011
#
#CONFIG_PPC64is not set#
# Processor support
#
#CONFIG_PPC_BOOK3S_32is not set
#CONFIG_PPC_85xxis not set
#CONFIG_PPC_8xxis not set
CONFIG_40x=y
#CONFIG_44xis not set
#CONFIG_E200is not set
CONFIG_4xx=yCONFIG_PPC_MMU_NOHASH=yCONFIG_PPC_MMU_NOHASH_32=y
#CONFIG_PPC_MM_SLICESis not setCONFIG_NOT_COHERENT_CACHE=yCONFIG_PPC32=yCONFIG_WORD_SIZE=32
#CONFIG_ARCH_PHYS_ADDR_T_64BITis not setCONFIG_MMU=yCONFIG_GENERIC_CMOS_UPDATE=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
#CONFIG_HAVE_SETUP_PER_CPU_AREAis not set
#CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNKis not setCONFIG_IRQ_PER_CPU=yCONFIG_NR_IRQS=512CONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_TRACE_IRQFLAGS_SUPPORT=yCONFIG_LOCKDEP_SUPPORT=yCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_ARCH_HAS_ILOG2_U32=yCONFIG_GENERIC_HWEIGHT=yCONFIG_GENERIC_FIND_NEXT_BIT=y
#CONFIG_ARCH_NO_VIRT_TO_BUSis not setCONFIG_PPC=yCONFIG_EARLY_PRINTK=yCONFIG_GENERIC_NVRAM=yCONFIG_SCHED_OMIT_FRAME_POINTER=yCONFIG_ARCH_MAY_HAVE_PC_FDC=yCONFIG_PPC_OF=yCONFIG_PPC_UDBG_16550=y
#CONFIG_GENERIC_TBSYNCis not setCONFIG_AUDIT_ARCH=yCONFIG_GENERIC_BUG=yCONFIG_DEFAULT_UIMAGE=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_PPC_DCR_NATIVE=y
#CONFIG_PPC_DCR_MMIOis not setCONFIG_PPC_DCR=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_PPC_ADV_DEBUG_REGS=yCONFIG_PPC_ADV_DEBUG_IACS=2CONFIG_PPC_ADV_DEBUG_DACS=2CONFIG_PPC_ADV_DEBUG_DVCS=0CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_CONSTRUCTORS=y#
# General setup
#CONFIG_EXPERIMENTAL=yCONFIG_BROKEN_ON_SMP=yCONFIG_LOCK_KERNEL=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""CONFIG_LOCALVERSION=""
#CONFIG_LOCALVERSION_AUTOis not setCONFIG_SYSVIPC=yCONFIG_SYSVIPC_SYSCTL=y
#CONFIG_BSD_PROCESS_ACCTis not set#
# RCU Subsystem
#CONFIG_TREE_RCU=y
#CONFIG_TREE_PREEMPT_RCUis not set
#CONFIG_TINY_RCUis not set
#CONFIG_RCU_TRACEis not setCONFIG_RCU_FANOUT=32
#CONFIG_RCU_FANOUT_EXACTis not set
#CONFIG_TREE_RCU_TRACEis not set
#CONFIG_IKCONFIGis not setCONFIG_LOG_BUF_SHIFT=12
#CONFIG_CGROUPSis not set
#CONFIG_SYSFS_DEPRECATED_V2is not set
#CONFIG_RELAYis not set
#CONFIG_NAMESPACESis not setCONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE="../rootfs_dev_script_ppc"CONFIG_INITRAMFS_ROOT_UID=0CONFIG_INITRAMFS_ROOT_GID=0CONFIG_RD_GZIP=y
#CONFIG_RD_BZIP2is not set
#CONFIG_RD_LZMAis not set
#CONFIG_RD_LZOis not setCONFIG_INITRAMFS_COMPRESSION_NONE=y
#CONFIG_INITRAMFS_COMPRESSION_GZIPis not setCONFIG_CC_OPTIMIZE_FOR_SIZE=yCONFIG_SYSCTL=yCONFIG_ANON_INODES=yCONFIG_EMBEDDED=yCONFIG_SYSCTL_SYSCALL=yCONFIG_KALLSYMS=y
#CONFIG_KALLSYMS_EXTRA_PASSis not setCONFIG_HOTPLUG=yCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_ELF_CORE=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_SIGNALFD=yCONFIG_TIMERFD=yCONFIG_EVENTFD=yCONFIG_SHMEM=yCONFIG_AIO=yCONFIG_HAVE_PERF_EVENTS=y#
# Kernel Performance Events And Counters
#
#CONFIG_PERF_EVENTSis not set
#CONFIG_PERF_COUNTERSis not setCONFIG_VM_EVENT_COUNTERS=yCONFIG_COMPAT_BRK=yCONFIG_SLAB=y
#CONFIG_SLUBis not set
#CONFIG_SLOBis not set
#CONFIG_PROFILINGis not setCONFIG_HAVE_OPROFILE=yCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_DMA_API_DEBUG=y#
# GCOV-based kernel profiling
#
#CONFIG_HAVE_GENERIC_DMA_COHERENTis not setCONFIG_SLABINFO=yCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=0
#CONFIG_MODULESis not set
#CONFIG_BLOCKis not set
#CONFIG_INLINE_SPIN_TRYLOCKis not set
#CONFIG_INLINE_SPIN_TRYLOCK_BHis not set #CONFIG_INLINE_SPIN_LOCKis not set
#CONFIG_INLINE_SPIN_LOCK_BHis not set
#CONFIG_INLINE_SPIN_LOCK_IRQis not set
#CONFIG_INLINE_SPIN_LOCK_IRQSAVEis not set #CONFIG_INLINE_SPIN_UNLOCKis not set
#CONFIG_INLINE_SPIN_UNLOCK_BHis not set #CONFIG_INLINE_SPIN_UNLOCK_IRQis not set #CONFIG_INLINE_SPIN_UNLOCK_IRQRESTOREis not set #CONFIG_INLINE_READ_TRYLOCKis not set
#CONFIG_INLINE_READ_LOCKis not set
#CONFIG_INLINE_READ_LOCK_BHis not set
#CONFIG_INLINE_READ_LOCK_IRQis not set
#CONFIG_INLINE_READ_LOCK_IRQSAVEis not set #CONFIG_INLINE_READ_UNLOCKis not set
#CONFIG_INLINE_READ_UNLOCK_BHis not set #CONFIG_INLINE_READ_UNLOCK_IRQis not set #CONFIG_INLINE_READ_UNLOCK_IRQRESTOREis not set #CONFIG_INLINE_WRITE_TRYLOCKis not set
#CONFIG_INLINE_WRITE_LOCKis not set
#CONFIG_INLINE_WRITE_LOCK_BHis not set
#CONFIG_INLINE_WRITE_LOCK_IRQis not set #CONFIG_INLINE_WRITE_LOCK_IRQSAVEis not set #CONFIG_INLINE_WRITE_UNLOCKis not set
#CONFIG_INLINE_WRITE_UNLOCK_BHis not set #CONFIG_INLINE_WRITE_UNLOCK_IRQis not set #CONFIG_INLINE_WRITE_UNLOCK_IRQRESTOREis not set #CONFIG_MUTEX_SPIN_ON_OWNERis not set
#CONFIG_FREEZERis not set#
# Platform support
#
#CONFIG_PPC_CELLis not set
#CONFIG_PPC_CELL_NATIVEis not set
#CONFIG_PQ2ADSis not set
#CONFIG_ISS4xxis not set
#CONFIG_PPC4xx_GPIOis not setCONFIG_XILINX_VIRTEX=y
#CONFIG_ACADIAis not set
#CONFIG_EP405is not set
#CONFIG_HCU4is not set
#CONFIG_HOTFOOTis not set
#CONFIG_KILAUEAis not set
#CONFIG_MAKALUis not set
#CONFIG_WALNUTis not setCONFIG_XILINX_VIRTEX_GENERIC_BOARD=y
#CONFIG_PPC40x_SIMPLEis not setCONFIG_XILINX_VIRTEX_II_PRO=yCONFIG_XILINX_VIRTEX_4_FX=yCONFIG_IBM405_ERR77=yCONFIG_IBM405_ERR51=y
#CONFIG_IPICis not set
#CONFIG_MPICis not set
#CONFIG_MPIC_WEIRDis not set
#CONFIG_PPC_I8259is not set
#CONFIG_PPC_RTASis not set
#CONFIG_MMIO_NVRAMis not set
#CONFIG_MPIC_U3_HT_IRQSis not set
#CONFIG_PPC_MPC106is not set
#CONFIG_PPC_970_NAPis not set
#CONFIG_PPC_INDIRECT_IOis not set
#CONFIG_GENERIC_IOMAPis not set
#CONFIG_CPU_FREQis not set
#CONFIG_FSL_ULI1575is not set
#CONFIG_SIMPLE_GPIOis not set#
# Kernel options
#
#CONFIG_HIGHMEMis not set
#CONFIG_NO_HZis not set
#CONFIG_HIGH_RES_TIMERSis not setCONFIG_GENERIC_CLOCKEVENTS_BUILD=y
#CONFIG_HZ_100is not setCONFIG_HZ_250=y
#CONFIG_HZ_300is not set
#CONFIG_HZ_1000is not setCONFIG_HZ=250
#CONFIG_SCHED_HRTICKis not set
#CONFIG_PREEMPT_NONEis not set
#CONFIG_PREEMPT_VOLUNTARYis not setCONFIG_PREEMPT=yCONFIG_BINFMT_ELF=y
#CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERSis not set
#CONFIG_HAVE_AOUTis not set
#CONFIG_BINFMT_MISCis not setCONFIG_MATH_EMULATION=y
#CONFIG_IOMMU_HELPERis not set
#CONFIG_SWIOTLBis not setCONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=yCONFIG_ARCH_HAS_WALK_MEMORY=yCONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=yCONFIG_SPARSE_IRQ=yCONFIG_MAX_ACTIVE_REGIONS=32CONFIG_ARCH_FLATMEM_ENABLE=yCONFIG_ARCH_POPULATES_NODE_MAP=yCONFIG_SELECT_MEMORY_MODEL=yCONFIG_FLATMEM_MANUAL=yCONFIG_FLATMEM=yCONFIG_FLAT_NODE_MEM_MAP=yCONFIG_HAVE_MEMBLOCK=yCONFIG_PAGEFLAGS_EXTENDED=yCONFIG_SPLIT_PTLOCK_CPUS=4
#CONFIG_MIGRATIONis not set
#CONFIG_PHYS_ADDR_T_64BITis not setCONFIG_ZONE_DMA_FLAG=1CONFIG_VIRT_TO_BUS=y
#CONFIG_KSMis not setCONFIG_DEFAULT_MMAP_MIN_ADDR=4096CONFIG_PPC_4K_PAGES=yCONFIG_FORCE_MAX_ZONEORDER=11CONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE=""CONFIG_EXTRA_TARGETS=""
#CONFIG_PMis not setCONFIG_SECCOMP=yCONFIG_ISA_DMA_API=y#
# Bus options
#CONFIG_ZONE_DMA=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=y
CONFIG_4xx_SOC=yCONFIG_PPC_PCI_CHOICE=y
#CONFIG_PCIis not set
#CONFIG_PCI_DOMAINSis not set
#CONFIG_PCI_SYSCALLis not set
#CONFIG_ARCH_SUPPORTS_MSIis not set
#CONFIG_PCCARDis not set
#CONFIG_HAS_RAPIDIOis not set#
# Advanced setup
#
#CONFIG_ADVANCED_OPTIONSis not set#
# Default settings for advanced configuration options are used #CONFIG_LOWMEM_SIZE=0x30000000CONFIG_PAGE_OFFSET=0xc0000000CONFIG_KERNEL_START=0xc0000000CONFIG_PHYSICAL_START=0x00000000CONFIG_TASK_SIZE=0xc0000000CONFIG_CONSISTENT_SIZE=0x00200000
#CONFIG_NETis not set#
# Device Drivers
##
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
#CONFIG_DEVTMPFSis not setCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=y
#CONFIG_FIRMWARE_IN_KERNELis not setCONFIG_EXTRA_FIRMWARE=""
#CONFIG_SYS_HYPERVISORis not setCONFIG_MTD=y
#CONFIG_MTD_DEBUGis not set
#CONFIG_MTD_CONCATis not setCONFIG_MTD_PARTITIONS=y
#CONFIG_MTD_REDBOOT_PARTSis not set
#CONFIG_MTD_CMDLINE_PARTSis not setCONFIG_MTD_OF_PARTS=y
#CONFIG_MTD_AR7_PARTSis not set#
# User Modules And Translation Layers
#
#CONFIG_MTD_CHARis not set
#CONFIG_MTD_OOPSis not set#
# RAM/ROM/Flash chip drivers
#
#CONFIG_MTD_CFIis not set
#CONFIG_MTD_JEDECPROBEis not setCONFIG_MTD_MAP_BANK_WIDTH_1=yCONFIG_MTD_MAP_BANK_WIDTH_2=yCONFIG_MTD_MAP_BANK_WIDTH_4=y
#CONFIG_MTD_MAP_BANK_WIDTH_8is not set
#CONFIG_MTD_MAP_BANK_WIDTH_16is not set
#CONFIG_MTD_MAP_BANK_WIDTH_32is not setCONFIG_MTD_CFI_I1=yCONFIG_MTD_CFI_I2=y
#CONFIG_MTD_CFI_I4is not set
#CONFIG_MTD_CFI_I8is not set
#CONFIG_MTD_RAMis not set
#CONFIG_MTD_ROMis not set
#CONFIG_MTD_ABSENTis not set#
# Mapping drivers for chip access
#
#CONFIG_MTD_COMPLEX_MAPPINGSis not set
#CONFIG_MTD_PLATRAMis not set#
# Self-contained MTD device drivers
#
#CONFIG_MTD_DATAFLASHis not setCONFIG_MTD_M25P80=yCONFIG_M25PXX_USE_FAST_READ=y
#CONFIG_MTD_SST25Lis not set
#CONFIG_MTD_SLRAMis not set
#CONFIG_MTD_PHRAMis not set
#CONFIG_MTD_MTDRAMis not set#
# Disk-On-Chip Device Drivers
#
#CONFIG_MTD_DOC2000is not set
#CONFIG_MTD_DOC2001is not set
#CONFIG_MTD_DOC2001PLUSis not set
#CONFIG_MTD_NANDis not set
#CONFIG_MTD_ONENANDis not set#
# LPDDR flash memory drivers
#
#CONFIG_MTD_LPDDRis not set#
# UBI - Unsorted block images
#
#CONFIG_MTD_UBIis not setCONFIG_DTC=yCONFIG_OF=y#
# Flattened Device Tree and Open Firmware support
#CONFIG_PROC_DEVICETREE=yCONFIG_OF_FLATTREE=yCONFIG_OF_DYNAMIC=yCONFIG_OF_ADDRESS=yCONFIG_OF_IRQ=yCONFIG_OF_DEVICE=yCONFIG_OF_SPI=y
#CONFIG_PARPORTis not set
#CONFIG_MISC_DEVICESis not setCONFIG_HAVE_IDE=y#
# SCSI device support
#CONFIG_SCSI_MOD=y
#CONFIG_SCSI_DMAis not set
#CONFIG_SCSI_NETLINKis not set
#CONFIG_MACINTOSH_DRIVERSis not set
#CONFIG_PHONEis not set#
# Input device support
#CONFIG_INPUT=y
#CONFIG_INPUT_FF_MEMLESSis not set
#CONFIG_INPUT_POLLDEVis not set
#CONFIG_INPUT_SPARSEKMAPis not set#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
#CONFIG_INPUT_MOUSEDEV_PSAUXis not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#CONFIG_INPUT_JOYDEVis not set
#CONFIG_INPUT_EVDEVis not set
#CONFIG_INPUT_EVBUGis not set#
# Input Device Drivers
#
#CONFIG_INPUT_KEYBOARDis not set
#CONFIG_INPUT_MOUSEis not set
#CONFIG_INPUT_JOYSTICKis not set
#CONFIG_INPUT_TABLETis not set
#CONFIG_INPUT_TOUCHSCREENis not set
#CONFIG_INPUT_MISCis not set#
# Hardware I/O ports
#CONFIG_SERIO=y
#CONFIG_SERIO_I8042is not set
#CONFIG_SERIO_SERPORTis not set
#CONFIG_SERIO_LIBPS2is not set
#CONFIG_SERIO_RAWis not set
#CONFIG_SERIO_XILINX_XPS_PS2is not set
#CONFIG_SERIO_ALTERA_PS2is not set
#CONFIG_GAMEPORTis not set#
# Character devices
#CONFIG_VT=yCONFIG_CONSOLE_TRANSLATIONS=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=y
#CONFIG_VT_HW_CONSOLE_BINDINGis not set
#CONFIG_DEVKMEMis not set
#CONFIG_SERIAL_NONSTANDARDis not set#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_RUNTIME_UARTS=4
#CONFIG_SERIAL_8250_EXTENDEDis not set#
# Non-8250 serial port support
#
#CONFIG_SERIAL_MAX3100is not set
#CONFIG_SERIAL_MAX3107is not setCONFIG_SERIAL_UARTLITE=yCONFIG_SERIAL_UARTLITE_CONSOLE=yCONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_SERIAL_OF_PLATFORM=y
#CONFIG_SERIAL_OF_PLATFORM_NWPSERIALis not set
#CONFIG_SERIAL_TIMBERDALEis not set
#CONFIG_SERIAL_GRLIB_GAISLER_APBUARTis not set
#CONFIG_SERIAL_ALTERA_JTAGUARTis not set
#CONFIG_SERIAL_ALTERA_UARTis not setCONFIG_UNIX98_PTYS=y
#CONFIG_DEVPTS_MULTIPLE_INSTANCESis not setCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
#CONFIG_HVC_UDBGis not set
#CONFIG_IPMI_HANDLERis not set
#CONFIG_HW_RANDOMis not set
#CONFIG_NVRAMis not set
#CONFIG_GEN_RTCis not set
#CONFIG_XILINX_HWICAPis not set
#CONFIG_R3964is not set
#CONFIG_TCG_TPMis not set
#CONFIG_RAMOOPSis not set
#CONFIG_I2Cis not setCONFIG_SPI=yCONFIG_SPI_MASTER=y#
# SPI Master Controller Drivers
#CONFIG_SPI_BITBANG=y
#CONFIG_SPI_PPC4xxis not setCONFIG_SPI_XILINX=yCONFIG_SPI_XILINX_OF=y
#CONFIG_SPI_XILINX_PLTFMis not set
#CONFIG_SPI_DESIGNWAREis not set#
# SPI Protocol Masters
#
#CONFIG_SPI_SPIDEVis not set
#CONFIG_SPI_TLE62X0is not set#
# PPS support
#
#CONFIG_PPSis not setCONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
#CONFIG_GPIOLIBis not set
#CONFIG_W1is not set
#CONFIG_POWER_SUPPLYis not set
#CONFIG_HWMONis not set
#CONFIG_THERMALis not set
#CONFIG_WATCHDOGis not setCONFIG_SSB_POSSIBLE=y#
# Sonics Silicon Backplane
#
#CONFIG_SSBis not setCONFIG_MFD_SUPPORT=y
#CONFIG_MFD_COREis not set
#CONFIG_MFD_SM501is not set
#CONFIG_HTC_PASIC3is not set
#CONFIG_MFD_TMIOis not set
#CONFIG_MFD_MC13783is not set
#CONFIG_ABX500_COREis not set
#CONFIG_EZX_PCAPis not set
#CONFIG_AB8500_COREis not set
#CONFIG_REGULATORis not set
#CONFIG_MEDIA_SUPPORTis not set#
# Graphics support
#
#CONFIG_DRMis not set
#CONFIG_VGASTATEis not set
#CONFIG_VIDEO_OUTPUT_CONTROLis not set
#CONFIG_FBis not set
#CONFIG_BACKLIGHT_LCD_SUPPORTis not set#
# Display device support
#
#CONFIG_DISPLAY_SUPPORTis not set#
# Console display driver support
#CONFIG_DUMMY_CONSOLE=y
#CONFIG_SOUNDis not set
#CONFIG_HID_SUPPORTis not set
#CONFIG_USB_SUPPORTis not set
#CONFIG_MMCis not set
#CONFIG_MEMSTICKis not set
#CONFIG_NEW_LEDSis not set
#CONFIG_ACCESSIBILITYis not set
#CONFIG_EDACis not set
#CONFIG_RTC_CLASSis not set
#CONFIG_DMADEVICESis not set
#CONFIG_AUXDISPLAYis not set
#CONFIG_UIOis not set
#CONFIG_STAGINGis not set#
# File systems
#CONFIG_FILE_LOCKING=y
#CONFIG_FSNOTIFYis not set
#CONFIG_DNOTIFYis not set
#CONFIG_INOTIFY_USERis not set
#CONFIG_QUOTAis not set
#CONFIG_AUTOFS_FSis not set
#CONFIG_AUTOFS4_FSis not set
#CONFIG_FUSE_FSis not set#
# Caches
#
#CONFIG_FSCACHEis not set#
# Pseudo filesystems
#CONFIG_PROC_FS=y
#CONFIG_PROC_KCOREis not setCONFIG_PROC_SYSCTL=yCONFIG_PROC_PAGE_MONITOR=yCONFIG_SYSFS=yCONFIG_TMPFS=y
#CONFIG_TMPFS_POSIX_ACLis not set
#CONFIG_HUGETLB_PAGEis not set
#CONFIG_CONFIGFS_FSis not setCONFIG_MISC_FILESYSTEMS=yCONFIG_JFFS2_FS=yCONFIG_JFFS2_FS_DEBUG=0CONFIG_JFFS2_FS_WRITEBUFFER=y
#CONFIG_JFFS2_FS_WBUF_VERIFYis not set
#CONFIG_JFFS2_SUMMARYis not set
#CONFIG_JFFS2_FS_XATTRis not set
#CONFIG_JFFS2_COMPRESSION_OPTIONSis not setCONFIG_JFFS2_ZLIB=y
#CONFIG_JFFS2_LZOis not setCONFIG_JFFS2_RTIME=y
#CONFIG_JFFS2_RUBINis not set
#CONFIG_LOGFSis not set
#CONFIG_ROMFS_FSis not setCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=y
#CONFIG_NLS_CODEPAGE_737is not set
#CONFIG_NLS_CODEPAGE_775is not set
#CONFIG_NLS_CODEPAGE_850is not set
#CONFIG_NLS_CODEPAGE_852is not set
#CONFIG_NLS_CODEPAGE_855is not set
#CONFIG_NLS_CODEPAGE_857is not set
#CONFIG_NLS_CODEPAGE_860is not set
#CONFIG_NLS_CODEPAGE_861is not set
#CONFIG_NLS_CODEPAGE_862is not set
#CONFIG_NLS_CODEPAGE_863is not set
#CONFIG_NLS_CODEPAGE_864is not set
#CONFIG_NLS_CODEPAGE_865is not set
#CONFIG_NLS_CODEPAGE_866is not set
#CONFIG_NLS_CODEPAGE_869is not set
#CONFIG_NLS_CODEPAGE_936is not set
#CONFIG_NLS_CODEPAGE_950is not set
#CONFIG_NLS_CODEPAGE_932is not set
#CONFIG_NLS_CODEPAGE_949is not set
#CONFIG_NLS_CODEPAGE_874is not set
#CONFIG_NLS_ISO8859_8is not set
#CONFIG_NLS_CODEPAGE_1250is not set
#CONFIG_NLS_CODEPAGE_1251is not setCONFIG_NLS_ASCII=yCONFIG_NLS_ISO8859_1=y
#CONFIG_NLS_ISO8859_2is not set
#CONFIG_NLS_ISO8859_3is not set
#CONFIG_NLS_ISO8859_4is not set
#CONFIG_NLS_ISO8859_5is not set
#CONFIG_NLS_ISO8859_6is not set
#CONFIG_NLS_ISO8859_7is not set
#CONFIG_NLS_ISO8859_9is not set
#CONFIG_NLS_ISO8859_13is not set
#CONFIG_NLS_ISO8859_14is not set
#CONFIG_NLS_ISO8859_15is not set
#CONFIG_NLS_KOI8_Ris not set
#CONFIG_NLS_KOI8_Uis not setCONFIG_NLS_UTF8=y
#CONFIG_BINARY_PRINTFis not set#
# Library routines
#CONFIG_BITREVERSE=yCONFIG_GENERIC_FIND_LAST_BIT=yCONFIG_CRC_CCITT=y
#CONFIG_CRC16is not set
#CONFIG_CRC_T10DIFis not set
#CONFIG_CRC_ITU_Tis not setCONFIG_CRC32=y
#CONFIG_CRC7is not set
#CONFIG_LIBCRC32Cis not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_DECOMPRESS_GZIP=yCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT=yCONFIG_HAS_DMA=yCONFIG_GENERIC_ATOMIC64=y#
# Kernel hacking
#
#CONFIG_PRINTK_TIMEis not set
#CONFIG_ENABLE_WARN_DEPRECATEDis not set
#CONFIG_ENABLE_MUST_CHECKis not setCONFIG_FRAME_WARN=1024
#CONFIG_MAGIC_SYSRQis not set
#CONFIG_STRIP_ASM_SYMSis not set
#CONFIG_UNUSED_SYMBOLSis not set
#CONFIG_DEBUG_FSis not set
#CONFIG_HEADERS_CHECKis not set
#CONFIG_DEBUG_KERNELis not set
#CONFIG_HARDLOCKUP_DETECTORis not setCONFIG_DEBUG_BUGVERBOSE=y
#CONFIG_DEBUG_MEMORY_INITis not set
#CONFIG_RCU_CPU_STALL_DETECTORis not set
#CONFIG_SYSCTL_SYSCALL_CHECKis not setCONFIG_HAVE_FUNCTION_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_TRACER=yCONFIG_HAVE_DYNAMIC_FTRACE=yCONFIG_HAVE_FTRACE_MCOUNT_RECORD=yCONFIG_TRACING_SUPPORT=y
#CONFIG_FTRACEis not set
#CONFIG_DMA_API_DEBUGis not set
#CONFIG_ATOMIC64_SELFTESTis not set
#CONFIG_SAMPLESis not setCONFIG_HAVE_ARCH_KGDB=y
#CONFIG_PPC_DISABLE_WERRORis not setCONFIG_PPC_WERROR=yCONFIG_PRINT_STACK_DEPTH=64
#CONFIG_PPC_EARLY_DEBUGis not set#
# Security options
#
#CONFIG_KEYSis not set
#CONFIG_SECURITYis not set
#CONFIG_SECURITYFSis not setCONFIG_DEFAULT_SECURITY_DAC=yCONFIG_DEFAULT_SECURITY=""
#CONFIG_CRYPTOis not set
#CONFIG_PPC_CLOCKis not set
#CONFIG_VIRTUALIZATIONis not set/*
* Device Tree Generator version: 1.3
*
* (C) Copyright 2007-2008 Xilinx, Inc.
* (C) Copyright 2007-2009 Michal Simek
*
* Michal SIMEK <[email protected]>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* CAUTION: This file is automatically generated by libgen.
* Version: Xilinx EDK 10.1.03 EDK_K_SP3.6
*
* XPS project directory: macsoft5
*//dts-v1/;
/ { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,virtex405", "xlnx,virtex"; model = "testing"; Generic_SDRAM: memory at 0 { device_type = "memory"; reg = < 0x0 0x800000 >; } ; aliases { serial0 = &RS232; serial1 = &RS232_1; } ; chosen { bootargs = "console=ttyUL0"; linux,stdout-path = "/plb at 0/opb at 40000000/serial at 40620000"; } ; cpus { #address-cells = <1>; #cpus = <0x1>; #size-cells = <0>; ppc405_0: cpu at 0 { clock-frequency = <200000000>; compatible = "PowerPC,405", "ibm,ppc405"; d-cache-line-size = <0x20>; d-cache-size = <0x4000>; dcr-access-method = "native"; dcr-controller ; device_type = "cpu"; i-cache-line-size = <0x20>; i-cache-size = <0x4000>; model = "PowerPC,405"; reg = <0>; timebase-frequency = <200000000>; xlnx,apu-control = <0xde00>; xlnx,apu-udi-1 = <0xa18983>; xlnx,apu-udi-2 = <0xa38983>; xlnx,apu-udi-3 = <0xa589c3>; xlnx,apu-udi-4 = <0xa789c3>; xlnx,apu-udi-5 = <0xa98c03>; xlnx,apu-udi-6 = <0xab8c03>; xlnx,apu-udi-7 = <0xad8c43>; xlnx,apu-udi-8 = <0xaf8c43>; xlnx,deterministic-mult = <0x0>; xlnx,disable-operand-forwarding = <0x1>; xlnx,mmu-enable = <0x1>; xlnx,pvr-high = <0x0>; xlnx,pvr-low = <0x0>; } ; } ; plb: plb at 0 { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,plb-v34-1.02.a", "simple-bus"; ranges ; Generic_SDRAM: plb-sdram at 0 { compatible = "xlnx,plb-sdram-1.00.e"; reg = < 0x0 0x800000 >; xlnx,family = "virtex4"; xlnx,include-burst-cacheln-support = <0x1>; xlnx,include-highspeed-pipe = <0x1>; xlnx,sdram-awidth = <0xc>; xlnx,sdram-bank-awidth = <0x2>; xlnx,sdram-cas-lat = <0x2>; xlnx,sdram-col-awidth = <0x8>; xlnx,sdram-dwidth = <0x10>; xlnx,sdram-refresh-numrows = <0x1000>; xlnx,sdram-tccd = <0x1>; xlnx,sdram-tmrd = <0x2>; xlnx,sdram-tras = <0x9c40>; xlnx,sdram-trc = <0xfde8>; xlnx,sdram-trcd = <0x4e20>; xlnx,sdram-tref = <0x40>; xlnx,sdram-trefi = <0xee6b28>; xlnx,sdram-trfc = <0x124f8>; xlnx,sdram-trp = <0x4e20>; xlnx,sdram-trrd = <0x3a98>; xlnx,sdram-twr = <0x3a98>; xlnx,sim-init-time-ps = <0x5f5e100>; xlnx,use-posedge-outregs = <0x0>; } ; opb: opb at 40000000 { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,opb-v20-1.10.c", "simple-bus"; ranges = < 0x40000000 0x40000000 0x40000000 >; RS232: serial at 40620000 { clock-frequency = ""; compatible = "xlnx,opb-uartlite-1.00.b"; current-speed = <115200>; device_type = "serial"; interrupt-parent = <&opb_intc_0>; interrupts = < 5 0 >; port-number = <0>; reg = < 0x40620000 0x10000 >; xlnx,baudrate = <0x1c200>; xlnx,clk-freq = <0x5f5e100>; xlnx,data-bits = <0x8>; xlnx,odd-parity = <0x1>; xlnx,use-parity = <0x0>; } ; RS232_1: serial at 40600000 { clock-frequency = ""; compatible = "xlnx,opb-uartlite-1.00.b"; current-speed = <115200>; device_type = "serial"; interrupt-parent = <&opb_intc_0>; interrupts = < 4 0 >; port-number = <1>; reg = < 0x40600000 0x10000 >; xlnx,baudrate = <0x1c200>; xlnx,clk-freq = <0x5f5e100>; xlnx,data-bits = <0x8>; xlnx,odd-parity = <0x1>; xlnx,use-parity = <0x0>; } ; opb_intc_0: interrupt-controller at 41200000 { #interrupt-cells = <0x2>; compatible = "xlnx,opb-intc-1.00.c", "xlnx,xps-intc-1.00.a"; interrupt-controller ; reg = < 0x41200000 0x10000 >; xlnx,kind-of-intr = <0x30>; xlnx,num-intr-inputs = <0x6>; } ; opb_spi_0: opb-spi at 55000000 { compatible = "xlnx,opb-spi-1.00.e"; interrupt-parent = <&opb_intc_0>; interrupts = < 2 2 >; reg = < 0x55000000 0x10000 >; xlnx,depth = <0x10>; xlnx,dev-blk-id = <0x4>; xlnx,dev-mir-enable = <0x0>; xlnx,family = "virtex4"; xlnx,fifo-exist = <0x1>; xlnx,interrupt-present = <0x1>; xlnx,ip-reg-bar-offset = <0x60>; xlnx,num-bits-reg = <0x8>; xlnx,num-bits-sr = <0x8>; xlnx,num-offchip-ss-bits = <0x4>; xlnx,num-ss-bits = <0x4>; xlnx,occupancy-num-bits = <0x4>; xlnx,spi-slave-only = <0x0>; #address-cells = <1>; #size-cells = <0>; spi_flash at 0 { compatible = "stm,m25p32", "m25p80"; reg = <0>; spi-max-frequency = <10000000>; }; spi_flash at 1 { compatible = "stm,m25p32", "m25p80"; reg = <1>; spi-max-frequency = <10000000>; #address-cells = <1>; #size-cells = <1>; partition at 0x00000000 { label = "test-part1"; reg = <0x00000000 0x00400000>; }; }; } ; } ; } ; } ;
PATCH 1/1 mtd/m25p80: add device tree probe support
Dear Grant Likely,
Quoted 11 lines · manu
Quoted 10 lines
Dear Grant, Shawn,
I don't this patch is required as m25p** serial flashes are supported already with generic OF/SPI and OF/MTD schemes. I have successfully used it myself on an unmodified 2.6.36.3 vanilla kernel on a xilinx/powerpc platform with a m25p32 part from STM. You will find attached the corresponding working defconfig + dts files (appart from partitions which I didn't managed to configure properly...).
Best Regards,
Quoted 8 lines
Quoted 1 line
Manuel
There is a heuristic which allows spi and i2c devices to get bound without a match table, which is why it works for you, but there is no guarantee that the heuristic will continue to exist in the long term. This is still probably the right thing to do.
g.
So is there any particular reason why this wasn't applied?
Best regards,
Marek Vasut
PATCH 1/1 mtd/m25p80: add device tree probe support
Quoted 2 lines · Marek Vasut
So is there any particular reason why this wasn't applied?
Let me remind Artem by resending the patch tomorrow.
Signature · 2 lines
Regards, Shawn
PATCH 1/1 mtd/m25p80: add device tree probe support
Dear Shawn Guo,
Quoted 4 lines · Marek Vasut
Quoted 1 line
So is there any particular reason why this wasn't applied?
Let me remind Artem by resending the patch tomorrow.
Actually ... the SPI does have the heuristics to probe this chip without the patch. But there was this discussion about them eventually being removed. That was a point raised by you I think. Is that still valid?
Best regards,
Marek Vasut
PATCH 1/1 mtd/m25p80: add device tree probe support
Quoted 11 lines · Marek Vasut
Dear Shawn Guo,
Quoted 4 lines · Marek Vasut
Quoted 1 line
So is there any particular reason why this wasn't applied?
Let me remind Artem by resending the patch tomorrow.
Actually ... the SPI does have the heuristics to probe this chip without the patch. But there was this discussion about them eventually being removed. That was a point raised by you I think. Is that still valid?
That was a point raised by Grant. IIRC, the reason I made the patch is my system does not probe the device without the patch. I can retest, and if it's true that the patch is not necessarily needed, I will probably let it be.
Signature · 2 lines
Regards, Shawn
PATCH 1/1 mtd/m25p80: add device tree probe support
Dear Shawn Guo,
Quoted 8 lines · Marek Vasut
Quoted 7 lines
Dear Shawn Guo,
Quoted 4 lines · Marek Vasut
Quoted 1 line
So is there any particular reason why this wasn't applied?
Let me remind Artem by resending the patch tomorrow.
Quoted 8 lines
Quoted 3 lines
Actually ... the SPI does have the heuristics to probe this chip without the patch. But there was this discussion about them eventually being removed. That was a point raised by you I think. Is that still valid?
That was a point raised by Grant. IIRC, the reason I made the patch is my system does not probe the device without the patch. I can retest, and if it's true that the patch is not necessarily needed, I will probably let it be.
116 ssp2: ssp at 80014000 {
117 #address-cells = <1>;
118 #size-cells = <0>;
119 compatible = "fsl,imx28-spi";
120 pinctrl-names = "default";
121 pinctrl-0 = <&spi2_pins_a>;
122 status = "okay";
123
124 flash: m25p80 at 0 {
125 #address-cells = <1>;
126 #size-cells = <1>;
127 compatible = "m25p80";
128 spi-max-frequency = <25000000>;
129 reg = <0>;130 };
131 };
I use this + my SPI patches I submitted recently.
Best regards,
Marek Vasut
PATCH 1/1 mtd/m25p80: add device tree probe support
Quoted 14 lines · Marek Vasut
116 ssp2: ssp at 80014000 {
117 #address-cells = <1>; 118 #size-cells = <0>; 119 compatible = "fsl,imx28-spi"; 120 pinctrl-names = "default"; 121 pinctrl-0 = <&spi2_pins_a>; 122 status = "okay"; 123 124 flash: m25p80 at 0 { 125 #address-cells = <1>; 126 #size-cells = <1>; 127 compatible = "m25p80"; 128 spi-max-frequency = <25000000>; 129 reg = <0>;
Quoted 5 lines
130 };
131 };I use this + my SPI patches I submitted recently.
I do not have the flash on my imx28-evk board, but I just tested on imx6q-sabrelite, and yes, it can be probed without the patch. I'm fine then.
Signature · 2 lines
Regards, Shawn
PATCH 1/1 mtd/m25p80: add device tree probe support
Dear Shawn Guo,
Quoted 18 lines · Marek Vasut
Quoted 17 lines
116 ssp2: ssp at 80014000 {
117 #address-cells = <1>; 118 #size-cells = <0>; 119 compatible = "fsl,imx28-spi"; 120 pinctrl-names = "default"; 121 pinctrl-0 = <&spi2_pins_a>; 122 status = "okay"; 123 124 flash: m25p80 at 0 { 125 #address-cells = <1>; 126 #size-cells = <1>; 127 compatible = "m25p80"; 128 spi-max-frequency =<25000000>; 129 reg = <0>;
130 };
131 };
Quoted 5 lines
Quoted 1 line
I use this + my SPI patches I submitted recently.
I do not have the flash on my imx28-evk board, but I just tested on imx6q-sabrelite, and yes, it can be probed without the patch. I'm fine then.
Good, let's discard this patch and close this issue :-)
Best regards,
Marek Vasut