)]}'
{
  "commit": "05359be1176bd097af9e7e833ff0317c55c5a86c",
  "tree": "c96a380ecce0b678480d533eb8951152aa4f706e",
  "parents": [
    "13e0dde8b2ed043aa3e65437342d501715d975c1"
  ],
  "author": {
    "name": "Chen-Yu Tsai",
    "email": "wens@csie.org",
    "time": "Fri May 19 15:06:09 2017 +0800"
  },
  "committer": {
    "name": "Maxime Ripard",
    "email": "maxime.ripard@free-electrons.com",
    "time": "Wed Jun 07 15:32:16 2017 +0200"
  },
  "message": "clk: sunxi-ng: Add driver for A83T CCU\n\nThe A83T clock control unit is a hybrid of some new style clock designs\nfrom the A80, and old style layout from the other Allwinner SoCs.\n\nLike the A80, the SoC does not have a low speed 32.768 kHz oscillator.\nUnlike the A80, there is no clock input either. The only low speed clock\navailable is the internal oscillator which runs at around 16 MHz,\ndivided by 512, yielding a low speed clock around 31.250 kHz.\n\nAlso, the MMC2 module clock supports switching to a \"new timing\" mode.\nThis mode divides the clock output by half, and disables the CCU based\nclock delays. The MMC controller must be configure to the same mode,\nand then use its internal clock delays.\n\nThis driver does not support runtime switching of the timing modes.\nInstead, the new timing mode is enforced at probe time. Consumers can\ncheck which mode is active by trying to get the current phase delay\nof the MMC2 phase clocks, which will return -ENOTSUPP if the new\ntiming mode is active.\n\nSigned-off-by: Chen-Yu Tsai \u003cwens@csie.org\u003e\nSigned-off-by: Maxime Ripard \u003cmaxime.ripard@free-electrons.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5706fc73f3ee91c30678abaa2aa66287b6fb964",
      "old_mode": 33188,
      "old_path": "drivers/clk/sunxi-ng/Kconfig",
      "new_id": "a384c695b38808993ad8a65d4a0fe89c631d9dab",
      "new_mode": 33188,
      "new_path": "drivers/clk/sunxi-ng/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "be616279450e2a1716dc80bea556eb67d3f457c5",
      "old_mode": 33188,
      "old_path": "drivers/clk/sunxi-ng/Makefile",
      "new_id": "0185c6ffadcbef923a6ac5806e828a89e43502e0",
      "new_mode": 33188,
      "new_path": "drivers/clk/sunxi-ng/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4a201a7e03b890b3dbda259e0d157a306be496ed",
      "new_mode": 33188,
      "new_path": "drivers/clk/sunxi-ng/ccu-sun8i-a83t.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d67edaf76748be05029cb9ec72247fc86fe41697",
      "new_mode": 33188,
      "new_path": "drivers/clk/sunxi-ng/ccu-sun8i-a83t.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "78af5085f6308a378a31608bd10bac4db7fcba8b",
      "new_mode": 33188,
      "new_path": "include/dt-bindings/clock/sun8i-a83t-ccu.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "784f6e11664ea25aced3783f880a68231f90e25b",
      "new_mode": 33188,
      "new_path": "include/dt-bindings/reset/sun8i-a83t-ccu.h"
    }
  ]
}
