blob: f056eb73469573b42c0da1ccd8f20d41ad84995d [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_CAMERA_DRIVERS_SENSORS_IMX227_MIPI_CCS_REGS_H_
#define SRC_CAMERA_DRIVERS_SENSORS_IMX227_MIPI_CCS_REGS_H_
// Definitions of sensor registers described by the MIPI CCS specification.
#include <zircon/types.h>
namespace camera {
constexpr uint16_t kSensorModelIdReg = 0x0016;
struct __PACKED Imx227AnalogGainRegisters {
static constexpr uint16_t kBaseAddress = 0x0084;
// 0x0084
uint16_t code_min;
// 0x0086
uint16_t code_max;
// 0x0088
uint16_t code_step;
// 0x008a
uint16_t gain_type;
// 0x008c
uint16_t m0;
// 0x008e
uint16_t c0;
// 0x0090
uint16_t m1;
// 0x0092
uint16_t c1;
};
struct __PACKED Imx227DigitalGainRegisters {
static constexpr uint16_t kBaseAddress = 0x1084;
// 0x1084
uint16_t gain_min;
// 0x1086
uint16_t gain_max;
// 0x1088
uint16_t gain_step_size;
};
constexpr uint16_t kModeSelectReg = 0x0100;
constexpr uint16_t kGroupedParameterHoldReg = 0x104;
constexpr uint16_t kTempCtrlReg = 0x0138;
constexpr uint16_t kTempOutputReg = 0x013A;
constexpr uint16_t kCoarseIntegrationTimeReg = 0x202;
constexpr uint16_t kAnalogGainCodeGlobalReg = 0x0204;
constexpr uint16_t kDigitalGainGlobalReg = 0x020e;
constexpr uint16_t kFrameLengthLinesReg = 0x0340;
constexpr uint16_t kLineLengthPckReg = 0x0342;
constexpr uint16_t kTestPatternReg = 0x0600;
} // namespace camera
#endif // SRC_CAMERA_DRIVERS_SENSORS_IMX227_MIPI_CCS_REGS_H_