* Serial NOR flash controller for MediaTek ARM SoCs

Required properties:
- compatible: 	  For mt8173, compatible should be "mediatek,mt8173-nor",
		  and it's the fallback compatible for other Soc.
		  For every other SoC, should contain both the SoC-specific compatible
		  string and "mediatek,mt8173-nor".
		  The possible values are:
		  "mediatek,mt2701-nor", "mediatek,mt8173-nor"
		  "mediatek,mt2712-nor", "mediatek,mt8173-nor"
		  "mediatek,mt7622-nor", "mediatek,mt8173-nor"
		  "mediatek,mt7623-nor", "mediatek,mt8173-nor"
		  "mediatek,mt7629-nor", "mediatek,mt8173-nor"
		  "mediatek,mt8173-nor"
- reg: 		  physical base address and length of the controller's register
- interrupts:	  Interrupt number used by the controller.
- clocks: 	  the phandle of the clocks needed by the nor controller
- clock-names: 	  the names of the clocks
		  the clocks should be named "spi" and "sf". "spi" is used for spi bus,
		  and "sf" is used for controller, these are the clocks witch
		  hardware needs to enabling nor flash and nor flash controller.
		  See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
- #address-cells: should be <1>
- #size-cells:	  should be <0>

There should be only one spi slave device following generic spi bindings.
It's not recommended to use this controller for devices other than SPI NOR
flash due to limited transfer capability of this controller.

Example:

nor_flash: spi@1100d000 {
	compatible = "mediatek,mt8173-nor";
	reg = <0 0x1100d000 0 0xe0>;
	interrupts = <&spi_flash_irq>;
	clocks = <&pericfg CLK_PERI_SPI>,
		 <&topckgen CLK_TOP_SPINFI_IFR_SEL>;
	clock-names = "spi", "sf";
	#address-cells = <1>;
	#size-cells = <0>;

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
	};
};

