162306a36Sopenharmony_ci* Nuvoton FLASH Interface Unit (FIU) SPI Controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciNPCM FIU supports single, dual and quad communication interface.
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciThe NPCM7XX supports three FIU modules,
662306a36Sopenharmony_ciFIU0 and FIUx supports two chip selects,
762306a36Sopenharmony_ciFIU3 support four chip select.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciThe NPCM8XX supports four FIU modules,
1062306a36Sopenharmony_ciFIU0 and FIUx supports two chip selects,
1162306a36Sopenharmony_ciFIU1 and FIU3 supports four chip selects.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciRequired properties:
1462306a36Sopenharmony_ci  - compatible : "nuvoton,npcm750-fiu" for Poleg NPCM7XX BMC
1562306a36Sopenharmony_ci			     "nuvoton,npcm845-fiu" for Arbel NPCM8XX BMC
1662306a36Sopenharmony_ci  - #address-cells : should be 1.
1762306a36Sopenharmony_ci  - #size-cells : should be 0.
1862306a36Sopenharmony_ci  - reg : the first contains the register location and length,
1962306a36Sopenharmony_ci          the second contains the memory mapping address and length
2062306a36Sopenharmony_ci  - reg-names: Should contain the reg names "control" and "memory"
2162306a36Sopenharmony_ci  - clocks : phandle of FIU reference clock.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciRequired properties in case the pins can be muxed:
2462306a36Sopenharmony_ci  - pinctrl-names : a pinctrl state named "default" must be defined.
2562306a36Sopenharmony_ci  - pinctrl-0 : phandle referencing pin configuration of the device.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciOptional property:
2862306a36Sopenharmony_ci  - nuvoton,spix-mode: enable spix-mode for an expansion bus to an ASIC or CPLD.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciAliases:
3162306a36Sopenharmony_ci- All the FIU controller nodes should be represented in the aliases node using
3262306a36Sopenharmony_ci  the following format 'fiu{n}' where n is a unique number for the alias.
3362306a36Sopenharmony_ci  In the NPCM7XX BMC:
3462306a36Sopenharmony_ci  		fiu0 represent fiu 0 controller
3562306a36Sopenharmony_ci  		fiu1 represent fiu 3 controller
3662306a36Sopenharmony_ci  		fiu2 represent fiu x controller
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  In the NPCM8XX BMC:
3962306a36Sopenharmony_ci  		fiu0 represent fiu 0 controller
4062306a36Sopenharmony_ci  		fiu1 represent fiu 1 controller
4162306a36Sopenharmony_ci  		fiu2 represent fiu 3 controller
4262306a36Sopenharmony_ci  		fiu3 represent fiu x controller
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciExample:
4562306a36Sopenharmony_cifiu3: spi@c00000000 {
4662306a36Sopenharmony_ci	compatible = "nuvoton,npcm750-fiu";
4762306a36Sopenharmony_ci	#address-cells = <1>;
4862306a36Sopenharmony_ci	#size-cells = <0>;
4962306a36Sopenharmony_ci	reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>;
5062306a36Sopenharmony_ci	reg-names = "control", "memory";
5162306a36Sopenharmony_ci	clocks = <&clk NPCM7XX_CLK_AHB>;
5262306a36Sopenharmony_ci	pinctrl-names = "default";
5362306a36Sopenharmony_ci	pinctrl-0 = <&spi3_pins>;
5462306a36Sopenharmony_ci	flash@0 {
5562306a36Sopenharmony_ci			...
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci};
5862306a36Sopenharmony_ci
59