Commit b1b3e028 authored by Andrey Filippov's avatar Andrey Filippov
Browse files

working on 10359 control

parent 9a7f17fa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/*******************************************************************************
 * File: x393.c
 * Date: 2016-03-29  
 * Date: 2016-04-04  
 * Author: auto-generated file, see x393_export_c.py
 * Description: Functions definitions to access x393 hardware registers
 *******************************************************************************/
@@ -174,7 +174,7 @@ void x393_sens_sync_late (x393_sens_sync
void                         x393_sensio_ctrl                    (x393_sensio_ctl_t d, int sens_num){writel(d.d32, mmio_ptr + (0x1020 + 0x100 * sens_num));} // Configure sensor I/O port
void                         set_x393_sensio_status_cntrl        (x393_status_ctrl_t d, int sens_num){writel(d.d32, mmio_ptr + (0x1024 + 0x100 * sens_num));} // Set status control for SENSIO module
x393_status_ctrl_t           get_x393_sensio_status_cntrl        (int sens_num)      { x393_status_ctrl_t d; d.d32 = readl(mmio_ptr + (0x1024 + 0x100 * sens_num)); return d; }
void                         x393_sensio_jtag                    (x393_sensio_jpag_t d, int sens_num){writel(d.d32, mmio_ptr + (0x1028 + 0x100 * sens_num));} // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS)
void                         x393_sensio_jtag                    (x393_sensio_jtag_t d, int sens_num){writel(d.d32, mmio_ptr + (0x1028 + 0x100 * sens_num));} // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS)
void                         set_x393_sensio_width               (x393_sensio_width_t d, int sens_num){writel(d.d32, mmio_ptr + (0x102c + 0x100 * sens_num));} // Set sensor line in pixels (0 - use line sync from the sensor)
x393_sensio_width_t          get_x393_sensio_width               (int sens_num)      { x393_sensio_width_t d; d.d32 = readl(mmio_ptr + (0x102c + 0x100 * sens_num)); return d; }
void                         set_x393_sensio_tim0                (x393_sensio_tim0_t d, int sens_num){writel(d.d32, mmio_ptr + (0x1030 + 0x100 * sens_num));} // Sensor port i/o timing configuration, register 0
+3 −4
Original line number Diff line number Diff line
/*******************************************************************************
 * File: x393.h
 * Date: 2016-03-29  
 * Date: 2016-04-04  
 * Author: auto-generated file, see x393_export_c.py
 * Description: Constants definitions and functions declarations to access x393 hardware registers
 *******************************************************************************/

#include "elphel/x393_types.h"
#include "x393_types.h"
//#include "elphel/x393_defs.h // alternative variant"

// See elphel/x393_map.h for the ordered list of all I/O register addresses used
@@ -173,7 +173,7 @@ void x393_sens_sync_late (x393_sens_sync
void                         x393_sensio_ctrl                    (x393_sensio_ctl_t d, int sens_num);             // Configure sensor I/O port
void                         set_x393_sensio_status_cntrl        (x393_status_ctrl_t d, int sens_num);            // Set status control for SENSIO module
x393_status_ctrl_t           get_x393_sensio_status_cntrl        (int sens_num);
void                         x393_sensio_jtag                    (x393_sensio_jpag_t d, int sens_num);            // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS)
void                         x393_sensio_jtag                    (x393_sensio_jtag_t d, int sens_num);            // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS)
void                         set_x393_sensio_width               (x393_sensio_width_t d, int sens_num);           // Set sensor line in pixels (0 - use line sync from the sensor)
x393_sensio_width_t          get_x393_sensio_width               (int sens_num);
void                         set_x393_sensio_tim0                (x393_sensio_tim0_t d, int sens_num);            // Sensor port i/o timing configuration, register 0
@@ -298,7 +298,6 @@ x393_status_sens_io_t x393_sensio_status (int sens_num);
#define X393_CMPRS_CBIT_CMODE_MONO1                      0x0000000b // Mono JPEG (not yet implemented)
#define X393_CMPRS_CBIT_CMODE_MONO4                      0x0000000e // Mono, 4 blocks (2x2 macroblocks)
#define X393_CMPRS_CBIT_CMODE_JPEG18                     0x00000000 // Color 4:2:0
#define X393_CMPRS_CBIT_CMODE_JPEG18                     0x00000000 // Color 4:2:0
#define X393_CMPRS_CBIT_FRAMES_SINGLE                    0x00000000 // Use single-frame buffer
#define X393_CMPRS_CBIT_FRAMES_MULTI                     0x00000001 // Use multi-frame buffer

+2 −3
Original line number Diff line number Diff line
/*******************************************************************************
 * File: x393_defs.h
 * Date: 2016-03-29  
 * Date: 2016-04-04  
 * Author: auto-generated file, see x393_export_c.py
 * Description: Constants and hardware addresses definitions to access x393 hardware registers
 *******************************************************************************/
@@ -136,7 +136,7 @@
#define X393_SENS_SYNC_LATE(sens_num)                    (0x4000101c + 0x100 * (sens_num)) // Configure frame sync delay, sens_num = 0..3, data type: x393_sens_sync_late_t (wo)
#define X393_SENSIO_CTRL(sens_num)                       (0x40001020 + 0x100 * (sens_num)) // Configure sensor I/O port, sens_num = 0..3, data type: x393_sensio_ctl_t (wo)
#define X393_SENSIO_STATUS_CNTRL(sens_num)               (0x40001024 + 0x100 * (sens_num)) // Set status control for SENSIO module, sens_num = 0..3, data type: x393_status_ctrl_t (rw)
#define X393_SENSIO_JTAG(sens_num)                       (0x40001028 + 0x100 * (sens_num)) // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), sens_num = 0..3, data type: x393_sensio_jpag_t (wo)
#define X393_SENSIO_JTAG(sens_num)                       (0x40001028 + 0x100 * (sens_num)) // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), sens_num = 0..3, data type: x393_sensio_jtag_t (wo)
#define X393_SENSIO_WIDTH(sens_num)                      (0x4000102c + 0x100 * (sens_num)) // Set sensor line in pixels (0 - use line sync from the sensor), sens_num = 0..3, data type: x393_sensio_width_t (rw)
#define X393_SENSIO_TIM0(sens_num)                       (0x40001030 + 0x100 * (sens_num)) // Sensor port i/o timing configuration, register 0, sens_num = 0..3, data type: x393_sensio_tim0_t (rw)
#define X393_SENSIO_TIM1(sens_num)                       (0x40001034 + 0x100 * (sens_num)) // Sensor port i/o timing configuration, register 1, sens_num = 0..3, data type: x393_sensio_tim1_t (rw)
@@ -240,7 +240,6 @@
#define X393_CMPRS_CBIT_CMODE_MONO1                      0x0000000b // Mono JPEG (not yet implemented)
#define X393_CMPRS_CBIT_CMODE_MONO4                      0x0000000e // Mono, 4 blocks (2x2 macroblocks)
#define X393_CMPRS_CBIT_CMODE_JPEG18                     0x00000000 // Color 4:2:0
#define X393_CMPRS_CBIT_CMODE_JPEG18                     0x00000000 // Color 4:2:0
#define X393_CMPRS_CBIT_FRAMES_SINGLE                    0x00000000 // Use single-frame buffer
#define X393_CMPRS_CBIT_FRAMES_MULTI                     0x00000001 // Use multi-frame buffer

+5 −5
Original line number Diff line number Diff line
/*******************************************************************************
 * File: x393_map.h
 * Date: 2016-03-29  
 * Date: 2016-04-04  
 * Author: auto-generated file, see x393_export_c.py
 * Description: Sorted hardware addresses map
 *******************************************************************************/
@@ -189,7 +189,7 @@
#define X393_SENS_SYNC_LATE__0                           0x4000101c // Configure frame sync delay, data type: x393_sens_sync_late_t (wo)
#define X393_SENSIO_CTRL__0                              0x40001020 // Configure sensor I/O port, data type: x393_sensio_ctl_t (wo)
#define X393_SENSIO_STATUS_CNTRL__0                      0x40001024 // Set status control for SENSIO module, data type: x393_status_ctrl_t (rw)
#define X393_SENSIO_JTAG__0                              0x40001028 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jpag_t (wo)
#define X393_SENSIO_JTAG__0                              0x40001028 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jtag_t (wo)
#define X393_SENSIO_WIDTH__0                             0x4000102c // Set sensor line in pixels (0 - use line sync from the sensor), data type: x393_sensio_width_t (rw)
#define X393_SENSIO_TIM0__0                              0x40001030 // Sensor port i/o timing configuration, register 0, data type: x393_sensio_tim0_t (rw)
#define X393_SENSIO_TIM1__0                              0x40001034 // Sensor port i/o timing configuration, register 1, data type: x393_sensio_tim1_t (rw)
@@ -252,7 +252,7 @@
#define X393_SENS_SYNC_LATE__1                           0x4000111c // Configure frame sync delay, data type: x393_sens_sync_late_t (wo)
#define X393_SENSIO_CTRL__1                              0x40001120 // Configure sensor I/O port, data type: x393_sensio_ctl_t (wo)
#define X393_SENSIO_STATUS_CNTRL__1                      0x40001124 // Set status control for SENSIO module, data type: x393_status_ctrl_t (rw)
#define X393_SENSIO_JTAG__1                              0x40001128 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jpag_t (wo)
#define X393_SENSIO_JTAG__1                              0x40001128 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jtag_t (wo)
#define X393_SENSIO_WIDTH__1                             0x4000112c // Set sensor line in pixels (0 - use line sync from the sensor), data type: x393_sensio_width_t (rw)
#define X393_SENSIO_TIM0__1                              0x40001130 // Sensor port i/o timing configuration, register 0, data type: x393_sensio_tim0_t (rw)
#define X393_SENSIO_TIM1__1                              0x40001134 // Sensor port i/o timing configuration, register 1, data type: x393_sensio_tim1_t (rw)
@@ -315,7 +315,7 @@
#define X393_SENS_SYNC_LATE__2                           0x4000121c // Configure frame sync delay, data type: x393_sens_sync_late_t (wo)
#define X393_SENSIO_CTRL__2                              0x40001220 // Configure sensor I/O port, data type: x393_sensio_ctl_t (wo)
#define X393_SENSIO_STATUS_CNTRL__2                      0x40001224 // Set status control for SENSIO module, data type: x393_status_ctrl_t (rw)
#define X393_SENSIO_JTAG__2                              0x40001228 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jpag_t (wo)
#define X393_SENSIO_JTAG__2                              0x40001228 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jtag_t (wo)
#define X393_SENSIO_WIDTH__2                             0x4000122c // Set sensor line in pixels (0 - use line sync from the sensor), data type: x393_sensio_width_t (rw)
#define X393_SENSIO_TIM0__2                              0x40001230 // Sensor port i/o timing configuration, register 0, data type: x393_sensio_tim0_t (rw)
#define X393_SENSIO_TIM1__2                              0x40001234 // Sensor port i/o timing configuration, register 1, data type: x393_sensio_tim1_t (rw)
@@ -378,7 +378,7 @@
#define X393_SENS_SYNC_LATE__3                           0x4000131c // Configure frame sync delay, data type: x393_sens_sync_late_t (wo)
#define X393_SENSIO_CTRL__3                              0x40001320 // Configure sensor I/O port, data type: x393_sensio_ctl_t (wo)
#define X393_SENSIO_STATUS_CNTRL__3                      0x40001324 // Set status control for SENSIO module, data type: x393_status_ctrl_t (rw)
#define X393_SENSIO_JTAG__3                              0x40001328 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jpag_t (wo)
#define X393_SENSIO_JTAG__3                              0x40001328 // Programming interface for multiplexer FPGA (with X393_SENSIO_STATUS), data type: x393_sensio_jtag_t (wo)
#define X393_SENSIO_WIDTH__3                             0x4000132c // Set sensor line in pixels (0 - use line sync from the sensor), data type: x393_sensio_width_t (rw)
#define X393_SENSIO_TIM0__3                              0x40001330 // Sensor port i/o timing configuration, register 0, data type: x393_sensio_tim0_t (rw)
#define X393_SENSIO_TIM1__3                              0x40001334 // Sensor port i/o timing configuration, register 1, data type: x393_sensio_tim1_t (rw)
+3 −3
Original line number Diff line number Diff line
/*******************************************************************************
 * File: x393_types.h
 * Date: 2016-03-29  
 * Date: 2016-04-04  
 * Author: auto-generated file, see x393_export_c.py
 * Description: typedef definitions for the x393 hardware registers
 *******************************************************************************/
@@ -382,7 +382,7 @@ typedef union {

typedef union {
    struct {
          u32        tbl_addr: 8; // [ 7: 0] (0) Address/length in 64-bit words (<<3 to get byte address
          u32        tbl_addr: 8; // [ 7: 0] (0) Address/length in 64-bit words (<<3 to get byte address)
          u32                :20;
          u32        tbl_mode: 2; // [29:28] (3) Should be 3 to select table address write mode
          u32                : 2;
@@ -664,7 +664,7 @@ typedef union {
    struct {
          u32             d32:32; // [31: 0] (0) cast to u32
    }; 
} x393_sensio_jpag_t; 
} x393_sensio_jtag_t; 

// Sensor i/o timing register 0 (different meanings for different sensor types)

Loading