Loading src/arch/arm/boot/dts/elphel393-common.dtsi +7 −2 Original line number Diff line number Diff line Loading @@ -277,9 +277,10 @@ "sensor_eeprom 0x50 1 1 100", "sensor_temp 0x18 1 2 100", "cy22393 0x69 1 1 100", "lepton35 0x2a 2 2 500"; "lepton35 0x2a 2 2 500", /*Update elphel393-sensor-i2c to support uart instead of the i2c */ "boson640 0x2a 2 2 500"; } ; framepars_operations: elphel393-framepars@0 { compatible = "elphel,elphel393-framepars-1.00"; }; Loading @@ -304,6 +305,10 @@ compatible = "elphel,elphel393-lepton-1.00"; }; elphel393_boson640: elphel393-boson640@0 { compatible = "elphel,elphel393-boson640-1.00"; }; elphel393_clock10359:elphel393-clock10359@0{ compatible = "elphel,elphel393_clock10359-1.00"; }; Loading src/arch/arm/boot/dts/elphel393_4_boson640.dts 0 → 100644 +18 −0 Original line number Diff line number Diff line /* elphel393 device tree */ /include/ "elphel393-zynq-base.dtsi" /include/ "elphel393-bootargs.dtsi" /include/ "elphel393-common.dtsi" /include/ "elphel393-revision.dtsi" / { elphel393_detect_sensors: elphel393-detect_sensors@0 { compatible = "elphel,elphel393-detect_sensors-1.00"; elphel393-detect_sensors,port-mux = "none none none none"; /* "none", "detect" or "mux10359" */ elphel393-detect_sensors,sensors = "boson640", // Line per port, may contain up to 4 sensors (3 with 10359) "boson640", "boson640", "boson640"; }; }; src/drivers/elphel/detect_sensors.c +9 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "mt9f002.h" #include "multi10359.h" #include "lepton.h" #include "boson640.h" #include "detect_sensors.h" #define DETECT_SENSORS_MODULE_DESCRIPTION "Detect sensor type(s) attached to each of the ports" Loading Loading @@ -79,7 +80,8 @@ const struct sensor_name_t sensor_names[] ={ {.name="mt9f002", .type=1, .iface=HISPI4, .code = SENSOR_MT9F002}, // MT9F002 {.name="ibis51300", .type=1, .iface=PARALLEL12, .code = SENSOR_IBIS51300}, // FillFactory IBIS51300 {.name="kai11002", .type=1, .iface=PARALLEL12, .code = SENSOR_KAI11000}, // Kodak KAI11002 {.name="lepton35", .type=1, .iface=VOSPI, .code = SENSOR_LEPTON35}, // Kodak KAI11002 {.name="lepton35", .type=1, .iface=VOSPI, .code = SENSOR_LEPTON35}, // Lepton35 (160x120)LWIR {.name="boson640", .type=1, .iface=BOSON640, .code = SENSOR_BOSON640}, // Boson640 (640x512) LWIR {.name=NULL, .type=0, .iface=IFACE_NONE, .code = 0} // end of list }; static sens_iface_t port_iface[SENSOR_PORTS]; Loading Loading @@ -485,6 +487,12 @@ int detect_sensors_par2addr_init(int port,int sub_chn){ pages = lepton_pages; atab = lepton_ahead_tab; break; case SENSOR_BOSON640: // temporary, set later to actual one dev_warn(g_dev_ptr,"FIX temporary data in detect_sensors for Boson640\n"); par2addr = lepton_par2addr; pages = lepton_pages; atab = lepton_ahead_tab; break; } if (par2addr){ // convert to key-value Loading src/drivers/elphel/detect_sensors.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ struct sensor_port_config_t { extern struct sensor_port_config_t *pSensorPortConfig; typedef enum {IFACE_NONE,PARALLEL12,HISPI4,VOSPI} sens_iface_t; ///< Sensor port interface type typedef enum {IFACE_NONE,PARALLEL12,HISPI4,VOSPI,BOSON640} sens_iface_t; ///< Sensor port interface type int get_code_by_name(const char * name, int type); const char * get_name_by_code(int code, int type); Loading src/include/uapi/elphel/c313a.h +1 −0 Original line number Diff line number Diff line Loading @@ -255,6 +255,7 @@ //#define SENSOR_MT9Y001 0x34 ///< Micron/Aptina/Onsemi MT9P001 - 34 #define SENSOR_IBIS51300 0x40 ///< FillFactory IBIS51300 #define SENSOR_LEPTON35 0x44 ///< FLIR Lepton3 sensor #define SENSOR_BOSON640 0x48 ///< FLIR Boson640 sensor #define SENSOR_KAI11000 0x80 ///< Kodak KAI11002 #define SENSOR_MUX_10359 0xe0 ///< Sensor multiplexer 10359 #define SENSOR_NONE 0xfc ///< No sensor present Loading Loading
src/arch/arm/boot/dts/elphel393-common.dtsi +7 −2 Original line number Diff line number Diff line Loading @@ -277,9 +277,10 @@ "sensor_eeprom 0x50 1 1 100", "sensor_temp 0x18 1 2 100", "cy22393 0x69 1 1 100", "lepton35 0x2a 2 2 500"; "lepton35 0x2a 2 2 500", /*Update elphel393-sensor-i2c to support uart instead of the i2c */ "boson640 0x2a 2 2 500"; } ; framepars_operations: elphel393-framepars@0 { compatible = "elphel,elphel393-framepars-1.00"; }; Loading @@ -304,6 +305,10 @@ compatible = "elphel,elphel393-lepton-1.00"; }; elphel393_boson640: elphel393-boson640@0 { compatible = "elphel,elphel393-boson640-1.00"; }; elphel393_clock10359:elphel393-clock10359@0{ compatible = "elphel,elphel393_clock10359-1.00"; }; Loading
src/arch/arm/boot/dts/elphel393_4_boson640.dts 0 → 100644 +18 −0 Original line number Diff line number Diff line /* elphel393 device tree */ /include/ "elphel393-zynq-base.dtsi" /include/ "elphel393-bootargs.dtsi" /include/ "elphel393-common.dtsi" /include/ "elphel393-revision.dtsi" / { elphel393_detect_sensors: elphel393-detect_sensors@0 { compatible = "elphel,elphel393-detect_sensors-1.00"; elphel393-detect_sensors,port-mux = "none none none none"; /* "none", "detect" or "mux10359" */ elphel393-detect_sensors,sensors = "boson640", // Line per port, may contain up to 4 sensors (3 with 10359) "boson640", "boson640", "boson640"; }; };
src/drivers/elphel/detect_sensors.c +9 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "mt9f002.h" #include "multi10359.h" #include "lepton.h" #include "boson640.h" #include "detect_sensors.h" #define DETECT_SENSORS_MODULE_DESCRIPTION "Detect sensor type(s) attached to each of the ports" Loading Loading @@ -79,7 +80,8 @@ const struct sensor_name_t sensor_names[] ={ {.name="mt9f002", .type=1, .iface=HISPI4, .code = SENSOR_MT9F002}, // MT9F002 {.name="ibis51300", .type=1, .iface=PARALLEL12, .code = SENSOR_IBIS51300}, // FillFactory IBIS51300 {.name="kai11002", .type=1, .iface=PARALLEL12, .code = SENSOR_KAI11000}, // Kodak KAI11002 {.name="lepton35", .type=1, .iface=VOSPI, .code = SENSOR_LEPTON35}, // Kodak KAI11002 {.name="lepton35", .type=1, .iface=VOSPI, .code = SENSOR_LEPTON35}, // Lepton35 (160x120)LWIR {.name="boson640", .type=1, .iface=BOSON640, .code = SENSOR_BOSON640}, // Boson640 (640x512) LWIR {.name=NULL, .type=0, .iface=IFACE_NONE, .code = 0} // end of list }; static sens_iface_t port_iface[SENSOR_PORTS]; Loading Loading @@ -485,6 +487,12 @@ int detect_sensors_par2addr_init(int port,int sub_chn){ pages = lepton_pages; atab = lepton_ahead_tab; break; case SENSOR_BOSON640: // temporary, set later to actual one dev_warn(g_dev_ptr,"FIX temporary data in detect_sensors for Boson640\n"); par2addr = lepton_par2addr; pages = lepton_pages; atab = lepton_ahead_tab; break; } if (par2addr){ // convert to key-value Loading
src/drivers/elphel/detect_sensors.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ struct sensor_port_config_t { extern struct sensor_port_config_t *pSensorPortConfig; typedef enum {IFACE_NONE,PARALLEL12,HISPI4,VOSPI} sens_iface_t; ///< Sensor port interface type typedef enum {IFACE_NONE,PARALLEL12,HISPI4,VOSPI,BOSON640} sens_iface_t; ///< Sensor port interface type int get_code_by_name(const char * name, int type); const char * get_name_by_code(int code, int type); Loading
src/include/uapi/elphel/c313a.h +1 −0 Original line number Diff line number Diff line Loading @@ -255,6 +255,7 @@ //#define SENSOR_MT9Y001 0x34 ///< Micron/Aptina/Onsemi MT9P001 - 34 #define SENSOR_IBIS51300 0x40 ///< FillFactory IBIS51300 #define SENSOR_LEPTON35 0x44 ///< FLIR Lepton3 sensor #define SENSOR_BOSON640 0x48 ///< FLIR Boson640 sensor #define SENSOR_KAI11000 0x80 ///< Kodak KAI11002 #define SENSOR_MUX_10359 0xe0 ///< Sensor multiplexer 10359 #define SENSOR_NONE 0xfc ///< No sensor present Loading