diff --git a/config-601a.cvs b/config-601a.cvs new file mode 100644 index 000000000..7e29b9259 --- /dev/null +++ b/config-601a.cvs @@ -0,0 +1,31 @@ +key,type,encoding,value +main,namespace,, +hostname,data,string,bitaxe +wifissid,data,string, +wifipass,data,string, +stratumurl,data,string,public-pool.io +stratumport,data,u16,3333 +stratumtls,data,u16,0 +stratumcert,data,string,x +stratumuser,data,string,bc1qnp980s5fpp8l94p5cvttmtdqy8rvrq74qly2yrfmzkdsntqzlc5qkc4rkq.bitaxe +stratumpass,data,string,x +stratumdiff,data,u16,1000 +stratumxnsub,data,u16,0 +fbstratumurl,data,string,solo.ckpool.org +fbstratumport,data,u16,3333 +fbstratumtls,data,u16,0 +fbstratumcert,data,string,x +fbstratumuser,data,string,bc1qnp980s5fpp8l94p5cvttmtdqy8rvrq74qly2yrfmzkdsntqzlc5qkc4rkq.bitaxe +fbstratumpass,data,string,x +fbstratumdiff,data,u16,1000 +fbstratumxnsum,data,u16,0 +asicfrequency,data,u16,525 +asicvoltage,data,u16,1150 +asicmodel,data,string,BM1370 +devicemodel,data,string,gamma +boardversion,data,string,601a +rotation,data,u16,0 +autofanspeed,data,u16,1 +fanspeed,data,u16,100 +selftest,data,u16,1 +overheat_mode,data,u16,0 diff --git a/main/device_config.h b/main/device_config.h index a29870ed8..49e05797d 100644 --- a/main/device_config.h +++ b/main/device_config.h @@ -40,6 +40,7 @@ typedef enum HEX, SUPRA, GAMMA, + GAMMA_V2, GAMMA_DUO, SUPRA_HEX, GAMMA_TURBO, @@ -111,6 +112,7 @@ static const FamilyConfig FAMILY_GAMMA = { .id = GAMMA, .name = "Gam static const FamilyConfig FAMILY_GAMMA_DUO = { .id = GAMMA_DUO, .name = "GammaDuo", .asic = ASIC_BM1370XP, .asic_count = 2, .max_power = 40, .power_offset = 5, .nominal_voltage = 5, .voltage_domains = 1, .swarm_color = "green", }; static const FamilyConfig FAMILY_SUPRA_HEX = { .id = SUPRA_HEX, .name = "SupraHex", .asic = ASIC_BM1368, .asic_count = 6, .max_power = 120, .power_offset = 25, .nominal_voltage = 12, .voltage_domains = 3, .swarm_color = "darkblue", }; static const FamilyConfig FAMILY_GAMMA_TURBO = { .id = GAMMA_TURBO, .name = "GammaTurbo", .asic = ASIC_BM1370, .asic_count = 2, .max_power = 60, .power_offset = 10, .nominal_voltage = 12, .voltage_domains = 1, .swarm_color = "cyan", }; +static const FamilyConfig FAMILY_GAMMA_V2 = { .id = GAMMA_V2, .name = "GammaV2", .asic = ASIC_BM1370, .asic_count = 1, .max_power = 40, .power_offset = 5, .nominal_voltage = 12, .voltage_domains = 1, .swarm_color = "green", }; static const FamilyConfig default_families[] = { FAMILY_MAX, @@ -140,6 +142,7 @@ static const DeviceConfig default_configs[] = { { .board_version = "403", .family = FAMILY_SUPRA, .EMC2101 = true, .TPS546 = true, .power_consumption_target = 8, }, { .board_version = "600", .family = FAMILY_GAMMA, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 19, }, { .board_version = "601", .family = FAMILY_GAMMA, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 19, }, + { .board_version = "601a", .family = FAMILY_GAMMA_V2, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 22, }, { .board_version = "602", .family = FAMILY_GAMMA, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 22, }, { .board_version = "603", .family = FAMILY_GAMMA, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 22, }, { .board_version = "650", .family = FAMILY_GAMMA_DUO, .EMC2101 = true, .emc_ideality_factor = 0x24, .emc_beta_compensation = 0x00, .TPS546 = true, .power_consumption_target = 35, }, diff --git a/main/power/vcore.c b/main/power/vcore.c index 24487de91..232e4848c 100644 --- a/main/power/vcore.c +++ b/main/power/vcore.c @@ -59,7 +59,25 @@ static TPS546_CONFIG get_tps546_config(const FamilyConfig * family) config.TPS546_INIT_STACK_CONFIG = 0x0000; // 1 module config.TPS546_INIT_SYNC_CONFIG = 0x10; // Disable SYNC break; - + case GAMMA_V2: + /* vin voltage */ + config.TPS546_INIT_PHASE = TPS546_INIT_PHASE_SINGLE; + config.TPS546_INIT_VIN_ON = 11.0; + config.TPS546_INIT_VIN_OFF = 10.5; + config.TPS546_INIT_VIN_UV_WARN_LIMIT = 11.0; + config.TPS546_INIT_VIN_OV_FAULT_LIMIT = 14.0; + /* vout voltage */ + config.TPS546_INIT_SCALE_LOOP = 0.25; + config.TPS546_INIT_VOUT_MIN = 1; + config.TPS546_INIT_VOUT_MAX = 2; + config.TPS546_INIT_VOUT_COMMAND = 1.2; + /* iout current */ + config.TPS546_INIT_IOUT_OC_WARN_LIMIT = 25.00; /* A */ + config.TPS546_INIT_IOUT_OC_FAULT_LIMIT = 30.00; /* A */ + // Single-phase configuration + config.TPS546_INIT_STACK_CONFIG = 0x0000; // 1 module + config.TPS546_INIT_SYNC_CONFIG = 0x10; // Disable SYNC + break; default: // MAX, ULTRA, SUPRA, GAMMA config.TPS546_INIT_PHASE = TPS546_INIT_PHASE_SINGLE; config.TPS546_INIT_VIN_ON = 4.8;