3.X的内核,对于platform_device的注册和platform data,全都放在dts文件中指定,对于spi nor来说,它的整个驱动
包括了master driver,master device,spi nor driver 和spi nor device.
对于spi master的驱动是在driver/spi/下有相关的文件来完成,而spi master device是在dts中来指定,
对于zynq板子来说,我们在driver/spi/可以找到相关的spi master的驱动文件,在这里它就是一个platfrom driver.
对于device 是在dts文件中一指定的:
ps7_qspi_0: ps7-qspi@e000d000 {
clock-names = "ref_clk", "aper_clk";
clocks = <&clkc 10>, <&clkc 43>;
compatible = "xlnx,zynq-qspi-1.0";
interrupt-parent = <&ps7_scugic_0>;
interrupts = <0 19 4>;
is-dual = <0>;
num-chip-select = <1>;
reg = <0xe000d000 0x1000>;
xlnx,fb-clk = <0x1>;
xlnx,qspi-mode = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "s25fl256s1";
reg = <0x0>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0x100000>;
};
partition@qspi-linux {
label = "qspi-linux";