Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) IFM camera sensor interface on mpc5200 LocalPlus bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) - compatible: "ifm,o2d-csi"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) - reg: specifies sensor chip select number and associated address range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) - interrupts: external interrupt line number and interrupt sense mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)   of the interrupt line signaling frame valid events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) - gpios: three gpio-specifiers for "capture", "reset" and "master enable"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)   GPIOs (strictly in this order).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)   clock generator. This node is usually a general purpose timer controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - ifm,csi-wait-cycles: sensor bus wait cycles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - ifm,csi-byte-swap: if this property is present, the byte swapping on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)   the bus will be enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	csi@3,0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 		compatible = "ifm,o2d-csi";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 		reg = <3 0 0x00100000>;		/* CS 3, 1 MiB range */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 		interrupts = <1 1 2>;		/* IRQ1, edge falling */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		ifm,csi-clk-handle = <&timer7>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		gpios = <&gpio_simple 23 0	/* image_capture */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 			 &gpio_simple 26 0	/* image_reset */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 			 &gpio_simple 29 0>;	/* image_master_en */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 		ifm,csi-addr-bus-width = <24>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 		ifm,csi-data-bus-width = <8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 		ifm,csi-wait-cycles = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) The base address of the used chip select is specified in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) ranges property of the parent localbus node, for example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	ranges = <0 0 0xff000000 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 		  3 0 0xe3000000 0x00100000>;