@@ -123,6 +123,7 @@ struct ad7380_chip_info {
123
123
unsigned int num_supplies ;
124
124
bool external_ref_only ;
125
125
bool internal_ref_only ;
126
+ unsigned int internal_ref_mv ;
126
127
const char * const * vcm_supplies ;
127
128
unsigned int num_vcm_supplies ;
128
129
const unsigned long * available_scan_masks ;
@@ -612,6 +613,7 @@ static const struct ad7380_chip_info ad7380_chip_info = {
612
613
.num_simult_channels = 2 ,
613
614
.supplies = ad7380_supplies ,
614
615
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
616
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
615
617
.available_scan_masks = ad7380_2_channel_scan_masks ,
616
618
.timing_specs = & ad7380_timing ,
617
619
.max_conversion_rate_hz = 4 * MEGA ,
@@ -625,6 +627,7 @@ static const struct ad7380_chip_info ad7381_chip_info = {
625
627
.num_simult_channels = 2 ,
626
628
.supplies = ad7380_supplies ,
627
629
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
630
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
628
631
.available_scan_masks = ad7380_2_channel_scan_masks ,
629
632
.timing_specs = & ad7380_timing ,
630
633
.max_conversion_rate_hz = 4 * MEGA ,
@@ -640,6 +643,7 @@ static const struct ad7380_chip_info ad7383_chip_info = {
640
643
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
641
644
.vcm_supplies = ad7380_2_channel_vcm_supplies ,
642
645
.num_vcm_supplies = ARRAY_SIZE (ad7380_2_channel_vcm_supplies ),
646
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
643
647
.available_scan_masks = ad7380_2_channel_scan_masks ,
644
648
.timing_specs = & ad7380_timing ,
645
649
.max_conversion_rate_hz = 4 * MEGA ,
@@ -655,6 +659,7 @@ static const struct ad7380_chip_info ad7384_chip_info = {
655
659
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
656
660
.vcm_supplies = ad7380_2_channel_vcm_supplies ,
657
661
.num_vcm_supplies = ARRAY_SIZE (ad7380_2_channel_vcm_supplies ),
662
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
658
663
.available_scan_masks = ad7380_2_channel_scan_masks ,
659
664
.timing_specs = & ad7380_timing ,
660
665
.max_conversion_rate_hz = 4 * MEGA ,
@@ -668,6 +673,7 @@ static const struct ad7380_chip_info ad7386_chip_info = {
668
673
.num_simult_channels = 2 ,
669
674
.supplies = ad7380_supplies ,
670
675
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
676
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
671
677
.has_mux = true,
672
678
.available_scan_masks = ad7380_2x2_channel_scan_masks ,
673
679
.timing_specs = & ad7380_timing ,
@@ -682,6 +688,7 @@ static const struct ad7380_chip_info ad7387_chip_info = {
682
688
.num_simult_channels = 2 ,
683
689
.supplies = ad7380_supplies ,
684
690
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
691
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
685
692
.has_mux = true,
686
693
.available_scan_masks = ad7380_2x2_channel_scan_masks ,
687
694
.timing_specs = & ad7380_timing ,
@@ -696,6 +703,7 @@ static const struct ad7380_chip_info ad7388_chip_info = {
696
703
.num_simult_channels = 2 ,
697
704
.supplies = ad7380_supplies ,
698
705
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
706
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
699
707
.has_mux = true,
700
708
.available_scan_masks = ad7380_2x2_channel_scan_masks ,
701
709
.timing_specs = & ad7380_timing ,
@@ -724,6 +732,7 @@ static const struct ad7380_chip_info ad7381_4_chip_info = {
724
732
.num_simult_channels = 4 ,
725
733
.supplies = ad7380_supplies ,
726
734
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
735
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
727
736
.available_scan_masks = ad7380_4_channel_scan_masks ,
728
737
.timing_specs = & ad7380_4_timing ,
729
738
.max_conversion_rate_hz = 4 * MEGA ,
@@ -737,6 +746,7 @@ static const struct ad7380_chip_info ad7383_4_chip_info = {
737
746
.num_simult_channels = 4 ,
738
747
.supplies = ad7380_supplies ,
739
748
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
749
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
740
750
.vcm_supplies = ad7380_4_channel_vcm_supplies ,
741
751
.num_vcm_supplies = ARRAY_SIZE (ad7380_4_channel_vcm_supplies ),
742
752
.available_scan_masks = ad7380_4_channel_scan_masks ,
@@ -752,6 +762,7 @@ static const struct ad7380_chip_info ad7384_4_chip_info = {
752
762
.num_simult_channels = 4 ,
753
763
.supplies = ad7380_supplies ,
754
764
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
765
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
755
766
.vcm_supplies = ad7380_4_channel_vcm_supplies ,
756
767
.num_vcm_supplies = ARRAY_SIZE (ad7380_4_channel_vcm_supplies ),
757
768
.available_scan_masks = ad7380_4_channel_scan_masks ,
@@ -767,6 +778,7 @@ static const struct ad7380_chip_info ad7386_4_chip_info = {
767
778
.num_simult_channels = 4 ,
768
779
.supplies = ad7380_supplies ,
769
780
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
781
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
770
782
.has_mux = true,
771
783
.available_scan_masks = ad7380_2x4_channel_scan_masks ,
772
784
.timing_specs = & ad7380_4_timing ,
@@ -781,6 +793,7 @@ static const struct ad7380_chip_info ad7387_4_chip_info = {
781
793
.num_simult_channels = 4 ,
782
794
.supplies = ad7380_supplies ,
783
795
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
796
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
784
797
.has_mux = true,
785
798
.available_scan_masks = ad7380_2x4_channel_scan_masks ,
786
799
.timing_specs = & ad7380_4_timing ,
@@ -795,6 +808,7 @@ static const struct ad7380_chip_info ad7388_4_chip_info = {
795
808
.num_simult_channels = 4 ,
796
809
.supplies = ad7380_supplies ,
797
810
.num_supplies = ARRAY_SIZE (ad7380_supplies ),
811
+ .internal_ref_mv = AD7380_INTERNAL_REF_MV ,
798
812
.has_mux = true,
799
813
.available_scan_masks = ad7380_2x4_channel_scan_masks ,
800
814
.timing_specs = & ad7380_4_timing ,
@@ -810,6 +824,7 @@ static const struct ad7380_chip_info adaq4370_4_chip_info = {
810
824
.supplies = adaq4380_supplies ,
811
825
.num_supplies = ARRAY_SIZE (adaq4380_supplies ),
812
826
.internal_ref_only = true,
827
+ .internal_ref_mv = ADAQ4380_INTERNAL_REF_MV ,
813
828
.has_hardware_gain = true,
814
829
.available_scan_masks = ad7380_4_channel_scan_masks ,
815
830
.timing_specs = & ad7380_4_timing ,
@@ -825,6 +840,7 @@ static const struct ad7380_chip_info adaq4380_4_chip_info = {
825
840
.supplies = adaq4380_supplies ,
826
841
.num_supplies = ARRAY_SIZE (adaq4380_supplies ),
827
842
.internal_ref_only = true,
843
+ .internal_ref_mv = ADAQ4380_INTERNAL_REF_MV ,
828
844
.has_hardware_gain = true,
829
845
.available_scan_masks = ad7380_4_channel_scan_masks ,
830
846
.timing_specs = & ad7380_4_timing ,
@@ -840,6 +856,7 @@ static const struct ad7380_chip_info adaq4381_4_chip_info = {
840
856
.supplies = adaq4380_supplies ,
841
857
.num_supplies = ARRAY_SIZE (adaq4380_supplies ),
842
858
.internal_ref_only = true,
859
+ .internal_ref_mv = ADAQ4380_INTERNAL_REF_MV ,
843
860
.has_hardware_gain = true,
844
861
.available_scan_masks = ad7380_4_channel_scan_masks ,
845
862
.timing_specs = & ad7380_4_timing ,
@@ -1910,7 +1927,7 @@ static int ad7380_probe(struct spi_device *spi)
1910
1927
* in bulk_get_enable().
1911
1928
*/
1912
1929
1913
- st -> vref_mv = ADAQ4380_INTERNAL_REF_MV ;
1930
+ st -> vref_mv = st -> chip_info -> internal_ref_mv ;
1914
1931
1915
1932
/* these chips don't have a register bit for this */
1916
1933
external_ref_en = false;
@@ -1935,7 +1952,8 @@ static int ad7380_probe(struct spi_device *spi)
1935
1952
"Failed to get refio regulator\n" );
1936
1953
1937
1954
external_ref_en = ret != - ENODEV ;
1938
- st -> vref_mv = external_ref_en ? ret / 1000 : AD7380_INTERNAL_REF_MV ;
1955
+ st -> vref_mv = external_ref_en ? ret / 1000
1956
+ : st -> chip_info -> internal_ref_mv ;
1939
1957
}
1940
1958
1941
1959
if (st -> chip_info -> num_vcm_supplies > ARRAY_SIZE (st -> vcm_mv ))
0 commit comments