The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/mfd/ab8500.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * AB8500 Multi-Functional Device (MFD)
    2 
    3 Required parent device properties:
    4 - compatible             : contains "stericsson,ab8500" or "stericsson,ab8505";
    5 - interrupts             : contains the IRQ line for the AB8500
    6 - interrupt-controller   : describes the AB8500 as an Interrupt Controller (has its own domain)
    7 - #interrupt-cells       : should be 2, for 2-cell format
    8                             - The first cell is the AB8500 local IRQ number
    9                             - The second cell is used to specify optional parameters
   10                               - bits[3:0] trigger type and level flags:
   11                                   1 = low-to-high edge triggered
   12                                   2 = high-to-low edge triggered
   13                                   4 = active high level-sensitive
   14                                   8 = active low level-sensitive
   15 
   16 The AB8500 consists of a large and varied group of sub-devices:
   17 
   18 Device                     IRQ Names              Supply Names   Description
   19 ------                     ---------              ------------   -----------
   20 ab8500-bm                :                      :              : Battery Manager
   21 ab8500-btemp             :                      :              : Battery Temperature
   22 ab8500-charger           :                      :              : Battery Charger
   23 ab8500-codec             :                      :              : Audio Codec
   24 ab8500-fg                :                      : vddadc       : Fuel Gauge
   25                          : NCONV_ACCU           :              : Accumulate N Sample Conversion
   26                          : BATT_OVV             :              : Battery Over Voltage
   27                          : LOW_BAT_F            :              : LOW threshold battery voltage
   28                          : CC_INT_CALIB         :              : Coulomb Counter Internal Calibration
   29                          : CCEOC                :              : Coulomb Counter End of Conversion
   30 ab8500-btemp             :                      : vtvout       : Battery Temperature
   31                          : BAT_CTRL_INDB        :              : Battery Removal Indicator
   32                          : BTEMP_LOW            :              : Btemp < BtempLow, if battery temperature is lower than -10°C
   33                          : BTEMP_LOW_MEDIUM     :              : BtempLow < Btemp < BtempMedium,if battery temperature is between -10 and 0°C
   34                          : BTEMP_MEDIUM_HIGH    :              : BtempMedium < Btemp < BtempHigh,if battery temperature is between 0°C and MaxTemp
   35                          : BTEMP_HIGH           :              : Btemp > BtempHigh, if battery temperature is higher than MaxTemp
   36 ab8500-charger           :                      : vddadc       : Charger interface
   37                          : MAIN_CH_UNPLUG_DET   :              : main charger unplug detection management (not in 8505)
   38                          : MAIN_CHARGE_PLUG_DET :              : main charger plug detection management (not in 8505)
   39                          : MAIN_EXT_CH_NOT_OK   :              : main charger not OK
   40                          : MAIN_CH_TH_PROT_R    :              : Die temp is above main charger
   41                          : MAIN_CH_TH_PROT_F    :              : Die temp is below main charger
   42                          : VBUS_DET_F           :              : VBUS falling detected
   43                          : VBUS_DET_R           :              : VBUS rising detected
   44                          : USB_LINK_STATUS      :              : USB link status has changed
   45                          : USB_CH_TH_PROT_R     :              : Die temp is above usb charger
   46                          : USB_CH_TH_PROT_F     :              : Die temp is below usb charger
   47                          : USB_CHARGER_NOT_OKR  :              : allowed USB charger not ok detection
   48                          : VBUS_OVV             :              : Overvoltage on Vbus ball detected (USB charge is stopped)
   49                          : CH_WD_EXP            :              : Charger watchdog detected
   50 ab8500-gpadc             : HW_CONV_END          : vddadc       : Analogue to Digital Converter
   51                            SW_CONV_END          :              :
   52 ab8500-gpio              :                      :              : GPIO Controller (AB8500)
   53 ab8505-gpio              :                      :              : GPIO Controller (AB8505)
   54 ab8500-ponkey            : ONKEY_DBF            :              : Power-on Key
   55                            ONKEY_DBR            :              :
   56 ab8500-pwm               :                      :              : Pulse Width Modulator
   57 ab8500-regulator         :                      :              : Regulators (AB8500)
   58 ab8505-regulator         :                      :              : Regulators (AB8505)
   59 ab8500-rtc               : 60S                  :              : Real Time Clock
   60                          : ALARM                :              :
   61 ab8500-sysctrl           :                      :              : System Control
   62 ab8500-usb               : ID_WAKEUP_R          : vddulpivio18 : Universal Serial Bus
   63                          : ID_WAKEUP_F          : v-ape        :
   64                          : VBUS_DET_F           : musb_1v8     :
   65                          : VBUS_DET_R           :              :
   66                          : USB_LINK_STATUS      :              :
   67                          : USB_ADP_PROBE_PLUG   :              :
   68                          : USB_ADP_PROBE_UNPLUG :              :
   69 
   70 Required child device properties:
   71 - compatible             : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey|
   72                                                pwm|regulator|rtc|sysctrl|usb]";
   73 
   74   A few child devices require ADC channels from the GPADC node. Those follow the
   75   standard bindings from
   76   https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml
   77   and Documentation/devicetree/bindings/iio/adc/adc.yaml
   78 
   79   abx500-temp            : io-channels "aux1" and "aux2" for measuring external
   80                            temperatures.
   81   ab8500-fg              : io-channel "main_bat_v" for measuring main battery voltage,
   82   ab8500-btemp           : io-channels "btemp_ball" and "bat_ctrl" for measuring the
   83                            battery voltage.
   84   ab8500-charger         : io-channels "main_charger_v", "main_charger_c", "vbus_v",
   85                            "usb_charger_c" for measuring voltage and current of the
   86                            different charging supplies.
   87 
   88 Optional child device properties:
   89 - interrupts             : contains the device IRQ(s) using the 2-cell format (see above)
   90 - interrupt-names        : contains names of IRQ resource in the order in which they were
   91                            supplied in the interrupts property
   92 - <supply_name>-supply   : contains a phandle to the regulator supply node in Device Tree
   93 
   94 Non-standard child device properties:
   95  - Audio CODEC:
   96    - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential)
   97    - stericsson,amic1a-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic
   98    - stericsson,amic1b-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic
   99    - stericsson,amic2-bias-vamic1           : Analoge Mic wishes to use a non-standard Vamic
  100    - stericsson,earpeice-cmv                : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
  101 
  102 ab8500 {
  103          compatible = "stericsson,ab8500";
  104          interrupts = <0 40 0x4>;
  105          interrupt-controller;
  106          #interrupt-cells = <2>;
  107 
  108          ab8500-rtc {
  109                  compatible = "stericsson,ab8500-rtc";
  110                  interrupts = <17 0x4
  111                                18 0x4>;
  112                  interrupt-names = "60S", "ALARM";
  113          };
  114 
  115         ab8500-gpadc {
  116                 compatible = "stericsson,ab8500-gpadc";
  117                 interrupts = <32 0x4
  118                               39 0x4>;
  119                 interrupt-names = "HW_CONV_END", "SW_CONV_END";
  120                 vddadc-supply = <&ab8500_ldo_tvout_reg>;
  121                 #address-cells = <1>;
  122                 #size-cells = <0>;
  123                 #io-channel-cells = <1>;
  124 
  125                 /* GPADC channels */
  126                 bat_ctrl: channel@1 {
  127                         reg = <0x01>;
  128                 };
  129                 btemp_ball: channel@2 {
  130                         reg = <0x02>;
  131                 };
  132                 main_charger_v: channel@3 {
  133                         reg = <0x03>;
  134                 };
  135                 acc_detect1: channel@4 {
  136                         reg = <0x04>;
  137                 };
  138                 acc_detect2: channel@5 {
  139                         reg = <0x05>;
  140                 };
  141                 adc_aux1: channel@6 {
  142                         reg = <0x06>;
  143                 };
  144                 adc_aux2: channel@7 {
  145                         reg = <0x07>;
  146                 };
  147                 main_batt_v: channel@8 {
  148                         reg = <0x08>;
  149                 };
  150                 vbus_v: channel@9 {
  151                         reg = <0x09>;
  152                 };
  153                 main_charger_c: channel@a {
  154                         reg = <0x0a>;
  155                 };
  156                 usb_charger_c: channel@b {
  157                         reg = <0x0b>;
  158                 };
  159                 bk_bat_v: channel@c {
  160                         reg = <0x0c>;
  161                 };
  162                 die_temp: channel@d {
  163                         reg = <0x0d>;
  164                 };
  165                 usb_id: channel@e {
  166                         reg = <0x0e>;
  167                 };
  168                 xtal_temp: channel@12 {
  169                         reg = <0x12>;
  170                 };
  171                 vbat_true_meas: channel@13 {
  172                         reg = <0x13>;
  173                 };
  174                 bat_ctrl_and_ibat: channel@1c {
  175                         reg = <0x1c>;
  176                 };
  177                 vbat_meas_and_ibat: channel@1d {
  178                         reg = <0x1d>;
  179                 };
  180                 vbat_true_meas_and_ibat: channel@1e {
  181                         reg = <0x1e>;
  182                 };
  183                 bat_temp_and_ibat: channel@1f {
  184                         reg = <0x1f>;
  185                 };
  186         };
  187 
  188         ab8500_temp {
  189                 compatible = "stericsson,abx500-temp";
  190                 io-channels = <&gpadc 0x06>,
  191                               <&gpadc 0x07>;
  192                 io-channel-name = "aux1", "aux2";
  193         };
  194 
  195         ab8500_battery: ab8500_battery {
  196                 stericsson,battery-type = "LIPO";
  197                 thermistor-on-batctrl;
  198         };
  199 
  200         ab8500_fg {
  201                 compatible = "stericsson,ab8500-fg";
  202                 battery    = <&ab8500_battery>;
  203                 io-channels = <&gpadc 0x08>;
  204                 io-channel-name = "main_bat_v";
  205         };
  206 
  207         ab8500_btemp {
  208                 compatible = "stericsson,ab8500-btemp";
  209                 battery    = <&ab8500_battery>;
  210                 io-channels = <&gpadc 0x02>,
  211                               <&gpadc 0x01>;
  212                 io-channel-name = "btemp_ball",
  213                                 "bat_ctrl";
  214         };
  215 
  216         ab8500_charger {
  217                 compatible      = "stericsson,ab8500-charger";
  218                 battery         = <&ab8500_battery>;
  219                 vddadc-supply   = <&ab8500_ldo_tvout_reg>;
  220                 io-channels = <&gpadc 0x03>,
  221                               <&gpadc 0x0a>,
  222                               <&gpadc 0x09>,
  223                               <&gpadc 0x0b>;
  224                 io-channel-name = "main_charger_v",
  225                                 "main_charger_c",
  226                                 "vbus_v",
  227                                 "usb_charger_c";
  228         };
  229 
  230         ab8500-usb {
  231                 compatible = "stericsson,ab8500-usb";
  232                 interrupts = < 90 0x4
  233                                96 0x4
  234                                14 0x4
  235                                15 0x4
  236                                79 0x4
  237                                74 0x4
  238                                75 0x4>;
  239                 interrupt-names = "ID_WAKEUP_R",
  240                                   "ID_WAKEUP_F",
  241                                   "VBUS_DET_F",
  242                                   "VBUS_DET_R",
  243                                   "USB_LINK_STATUS",
  244                                   "USB_ADP_PROBE_PLUG",
  245                                   "USB_ADP_PROBE_UNPLUG";
  246                 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
  247                 v-ape-supply = <&db8500_vape_reg>;
  248                 musb_1v8-supply = <&db8500_vsmps2_reg>;
  249         };
  250 
  251         ab8500-ponkey {
  252                 compatible = "stericsson,ab8500-ponkey";
  253                 interrupts = <6 0x4
  254                               7 0x4>;
  255                 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
  256         };
  257 
  258         ab8500-sysctrl {
  259                 compatible = "stericsson,ab8500-sysctrl";
  260         };
  261 
  262         ab8500-pwm {
  263                 compatible = "stericsson,ab8500-pwm";
  264         };
  265 
  266         codec: ab8500-codec {
  267                 compatible = "stericsson,ab8500-codec";
  268 
  269                 stericsson,earpeice-cmv = <950>; /* Units in mV. */
  270         };
  271 
  272         ab8500-regulators {
  273                 compatible = "stericsson,ab8500-regulator";
  274 
  275                 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
  276                         /*
  277                          * See: Documentation/devicetree/bindings/regulator/regulator.txt
  278                          * for more information on regulators
  279                          */
  280                 };
  281         };
  282 };

Cache object: cd0c1c931c9d35cb17b8ff094ab92336


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.