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