All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 00/58] clk: Add Allwinner CLK, RESET support
@ 2018-08-19 13:56 Jagan Teki
  2018-08-19 13:56 ` [U-Boot] [PATCH v3 01/58] clk: Add Allwinner A64 CLK driver Jagan Teki
                   ` (57 more replies)
  0 siblings, 58 replies; 87+ messages in thread
From: Jagan Teki @ 2018-08-19 13:56 UTC (permalink / raw)
  To: u-boot

This series is refined version of Allwinner CLK, RESET
support for previous RFC[3] which implements CLK and RESET for
- USB
- MMC
- SPI
- UART
- Ethernet

This series depends on 'musb shutdown' series [1] and
Linux dts(i) sync series [2].

Since this series supporting MMC, the previous version[4]
DM_MMC migration changes are squashed and droped reset and
clock ccm hacks.

Tested on A64, H3, H5, H6, R40, A83T, A20.

Changes for v3:
- Added H6 CLK, RESET changes
- Added fastboot mmc device patch
- Added fat env mmc device patch
- Update bootorder to check eMMC as per DT 
- Collect Tested-by
Changes for v2:
- Fixed few warnings and spaces in reset descriptor table.
- Add Ethernet CLK and RESET changes

All these changes available at u-boot-sunxi/clk

Note:
- V3S, A23, A33 still need to test.

Any inputs,
Jagan.

Jagan Teki (58):
  clk: Add Allwinner A64 CLK driver
  reset: Add default request ops
  reset: Add Allwinner RESET driver
  clk: sunxi: Add Allwinner H3/H5 CLK driver
  clk: sunxi: Add Allwinner A10/A20 CLK driver
  clk: sunxi: Add Allwinner A10s/A13 CLK driver
  clk: sunxi: Add Allwinner A31 CLK driver
  clk: sunxi: Add Allwinner A23 CLK driver
  clk: sunxi: a23: Add CLK support for A33
  clk: sunxi: Add Allwinner A83T CLK driver
  clk: sunxi: Add Allwinner R40 CLK driver
  clk: sunxi: Add Allwinner V3S CLK driver
  sunxi: Enable CLK
  musb-new: sunxi: Use CLK and RESET support
  phy: sun4i-usb: Use CLK and RESET support
  sunxi: usb: Switch to Generic host controllers
  usb: host: Drop [e-o]hci-sunxi drivers
  clk: sunxi: Implement AHB bus MMC clocks
  clk: sunxi: Implement direct MMC clocks
  clk: sunxi: Implement AHB bus MMC resets
  reset: Add get reset by name optionally
  reset: Add reset valid
  clk: sunxi: Add Allwinner H6 CLK, RESET driver
  arm64: allwinner: dts: h6: fix Pine H64 MMC bus width
  sunxi: h6: Enable CLK, RESET
  dm: mmc: sunxi: Add CLK and RESET support
  fastboot: sunxi: Update fastboot mmc default device
  env: fat: Add func to get fat device, partition
  sunxi: Get fat device wrt boot device, 'auto' partition
  env: sunxi: Don't update fat dev, part wrt MMC_SUNXI_SLOT_EXTRA
  sunxi: Add mmc 2, 3 bootenv devices
  sunxi: A20: Enable DM_MMC
  mmc: sunxi: Add mmc, emmc H5/A64 compatible
  sunxi: H3_H5: Enable DM_MMC
  sunxi: A64: Enable DM_MMC
  mmc: sunxi: Add A83T emmc compatible
  sunxi: A83T: Enable DM_MMC
  sunxi: V40: Enable DM_MMC
  sunxi: H6: Enable DM_MMC
  sunxi: A13/A31: Enable DM_MMC
  sunxi: A23/A33/V3S: Enable DM_MMC
  clk: sunxi: Implement SPI clocks
  clk: sunxi: Implement SPI resets
  spi: sun4i: Add CLK support
  spi: Add Allwinner A31 SPI driver
  clk: sunxi: Implement UART clocks
  clk: sunxi: Implement UART resets
  clk: sunxi: Implement Ethernet clocks
  clk: sunxi: Implement Ethernet resets
  net: sunxi_emac: Add CLK support
  net: sun8i_emac: Retrieve GMAC clock via 'syscon' phandle
  net: sun8i_emac: Add CLK and RESET support
  clk: Get the CLK by index without device
  clk: Use clk_get_by_index_tail()
  reset: Get the RESET by index without device
  clk: sunxi: h3: Implement EPHY CLK and RESET
  net: sun8i_emac: Add EPHY CLK and RESET support
  board: sunxi: gmac: Remove Ethernet clock and reset

 arch/arm/dts/sun50i-h6-pine-h64.dts           |   2 +
 arch/arm/include/asm/arch-sunxi/ccu.h         |  82 +++
 arch/arm/mach-sunxi/Kconfig                   |  24 +
 arch/arm/mach-sunxi/board.c                   |  50 ++
 board/sunxi/gmac.c                            |   8 -
 configs/A10-OLinuXino-Lime_defconfig          |   1 +
 configs/A10s-OLinuXino-M_defconfig            |   1 +
 configs/A13-OLinuXinoM_defconfig              |   1 +
 configs/A13-OLinuXino_defconfig               |   1 +
 configs/A20-OLinuXino-Lime2-eMMC_defconfig    |   2 +
 configs/A20-OLinuXino-Lime2_defconfig         |   1 +
 configs/A20-OLinuXino-Lime_defconfig          |   1 +
 configs/A20-Olimex-SOM204-EVB-eMMC_defconfig  |   1 +
 configs/A20-Olimex-SOM204-EVB_defconfig       |   2 +
 configs/Auxtek-T003_defconfig                 |   1 +
 configs/Auxtek-T004_defconfig                 |   1 +
 configs/Bananapi_defconfig                    |   1 +
 configs/Bananapi_m2m_defconfig                |   1 +
 configs/Bananapro_defconfig                   |   1 +
 configs/CHIP_defconfig                        |   1 +
 configs/CHIP_pro_defconfig                    |   1 +
 configs/CSQ_CS908_defconfig                   |   1 +
 configs/Colombus_defconfig                    |   1 +
 configs/Cubieboard2_defconfig                 |   1 +
 configs/Cubieboard_defconfig                  |   1 +
 configs/Cubietruck_plus_defconfig             |   1 +
 configs/Hummingbird_A31_defconfig             |   1 +
 configs/Itead_Ibox_A20_defconfig              |   1 +
 configs/Linksprite_pcDuino3_Nano_defconfig    |   1 +
 configs/Linksprite_pcDuino3_defconfig         |   1 +
 configs/Linksprite_pcDuino_defconfig          |   1 +
 configs/MK808C_defconfig                      |   1 +
 configs/Marsboard_A10_defconfig               |   1 +
 configs/Mele_A1000G_quad_defconfig            |   1 +
 configs/Mele_A1000_defconfig                  |   1 +
 configs/Mele_I7_defconfig                     |   1 +
 configs/Mele_M3_defconfig                     |   1 +
 configs/Mele_M5_defconfig                     |   1 +
 configs/Mele_M9_defconfig                     |   1 +
 configs/Mini-X_defconfig                      |   1 +
 configs/Orangepi_defconfig                    |   1 +
 configs/Orangepi_mini_defconfig               |   1 +
 configs/Sinlinx_SinA31s_defconfig             |   1 +
 configs/Sinlinx_SinA33_defconfig              |   2 +
 configs/Sinovoip_BPI_M2_Plus_defconfig        |   1 +
 configs/Sinovoip_BPI_M2_defconfig             |   1 +
 configs/Sinovoip_BPI_M3_defconfig             |   1 +
 configs/Wexler_TAB7200_defconfig              |   1 +
 configs/Wobo_i5_defconfig                     |   1 +
 configs/a64-olinuxino_defconfig               |   1 +
 configs/amarula_a64_relic_defconfig           |   1 +
 configs/ba10_tv_box_defconfig                 |   1 +
 configs/bananapi_m1_plus_defconfig            |   1 +
 configs/bananapi_m64_defconfig                |   1 +
 configs/ga10h_v1_1_defconfig                  |   1 +
 configs/h8_homlet_v2_defconfig                |   1 +
 configs/i12-tvbox_defconfig                   |   1 +
 configs/icnova-a20-swac_defconfig             |   1 +
 configs/inet1_defconfig                       |   1 +
 configs/inet_q972_defconfig                   |   1 +
 configs/jesurun_q5_defconfig                  |   1 +
 configs/libretech_all_h3_cc_h2_plus_defconfig |   1 +
 configs/libretech_all_h3_cc_h3_defconfig      |   1 +
 configs/libretech_all_h3_cc_h5_defconfig      |   1 +
 configs/mixtile_loftq_defconfig               |   1 +
 configs/mk802_a10s_defconfig                  |   1 +
 configs/mk802_defconfig                       |   1 +
 configs/mk802ii_defconfig                     |   1 +
 configs/nanopi_a64_defconfig                  |   1 +
 configs/nanopi_m1_defconfig                   |   1 +
 configs/nanopi_m1_plus_defconfig              |   1 +
 configs/nanopi_neo2_defconfig                 |   1 +
 configs/nanopi_neo_air_defconfig              |   1 +
 configs/nanopi_neo_defconfig                  |   1 +
 configs/nanopi_neo_plus2_defconfig            |   1 +
 configs/orangepi_2_defconfig                  |   1 +
 configs/orangepi_lite_defconfig               |   1 +
 configs/orangepi_one_defconfig                |   1 +
 configs/orangepi_pc2_defconfig                |   1 +
 configs/orangepi_pc_defconfig                 |   1 +
 configs/orangepi_pc_plus_defconfig            |   1 +
 configs/orangepi_plus2e_defconfig             |   1 +
 configs/orangepi_plus_defconfig               |   1 +
 configs/orangepi_prime_defconfig              |   1 +
 configs/orangepi_r1_defconfig                 |   1 +
 configs/orangepi_win_defconfig                |   1 +
 configs/orangepi_zero_defconfig               |   1 +
 configs/orangepi_zero_plus2_defconfig         |   1 +
 configs/orangepi_zero_plus_defconfig          |   1 +
 configs/parrot_r16_defconfig                  |   2 +
 configs/pine64_plus_defconfig                 |   1 +
 configs/r7-tv-dongle_defconfig                |   1 +
 configs/sopine_baseboard_defconfig            |   1 +
 configs/sun8i_a23_evb_defconfig               |   1 +
 configs/sunxi_Gemei_G9_defconfig              |   1 +
 configs/tbs_a711_defconfig                    |   1 +
 drivers/clk/Kconfig                           |   1 +
 drivers/clk/Makefile                          |   1 +
 drivers/clk/clk-uclass.c                      |  84 +++-
 drivers/clk/sunxi/Kconfig                     |  82 +++
 drivers/clk/sunxi/Makefile                    |  18 +
 drivers/clk/sunxi/clk_a10.c                   | 107 ++++
 drivers/clk/sunxi/clk_a10s.c                  |  96 ++++
 drivers/clk/sunxi/clk_a23.c                   | 105 ++++
 drivers/clk/sunxi/clk_a31.c                   | 128 +++++
 drivers/clk/sunxi/clk_a64.c                   | 115 +++++
 drivers/clk/sunxi/clk_a83t.c                  | 105 ++++
 drivers/clk/sunxi/clk_h3.c                    | 130 +++++
 drivers/clk/sunxi/clk_h6.c                    |  73 +++
 drivers/clk/sunxi/clk_r40.c                   | 123 +++++
 drivers/clk/sunxi/clk_sunxi.c                 |  77 +++
 drivers/clk/sunxi/clk_v3s.c                   |  91 ++++
 drivers/fastboot/Kconfig                      |   3 +-
 drivers/mmc/sunxi_mmc.c                       | 121 +++--
 drivers/net/sun8i_emac.c                      | 179 ++++---
 drivers/net/sunxi_emac.c                      |  28 +-
 drivers/phy/allwinner/phy-sun4i-usb.c         |  77 ++-
 drivers/reset/Kconfig                         |   8 +
 drivers/reset/Makefile                        |   1 +
 drivers/reset/reset-sunxi.c                   | 124 +++++
 drivers/reset/reset-uclass.c                  |  81 ++-
 drivers/spi/Kconfig                           |   6 +
 drivers/spi/Makefile                          |   1 +
 drivers/spi/sun4i_spi.c                       |  40 +-
 drivers/spi/sun6i_spi.c                       | 475 ++++++++++++++++++
 drivers/usb/host/Kconfig                      |   2 +
 drivers/usb/host/Makefile                     |   2 -
 drivers/usb/host/ehci-sunxi.c                 | 204 --------
 drivers/usb/host/ohci-sunxi.c                 | 233 ---------
 drivers/usb/musb-new/sunxi.c                  |  82 +--
 env/Kconfig                                   |   3 +-
 env/fat.c                                     |   9 +-
 include/clk.h                                 |  15 +
 include/configs/sun4i.h                       |   4 -
 include/configs/sun50i.h                      |   5 -
 include/configs/sun5i.h                       |   4 -
 include/configs/sun6i.h                       |   4 -
 include/configs/sun7i.h                       |   4 -
 include/configs/sun8i.h                       |   4 -
 include/configs/sunxi-common.h                |   9 +-
 include/fat.h                                 |   1 +
 include/reset.h                               |  52 ++
 scripts/config_whitelist.txt                  |   2 -
 143 files changed, 2695 insertions(+), 685 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-sunxi/ccu.h
 create mode 100644 drivers/clk/sunxi/Kconfig
 create mode 100644 drivers/clk/sunxi/Makefile
 create mode 100644 drivers/clk/sunxi/clk_a10.c
 create mode 100644 drivers/clk/sunxi/clk_a10s.c
 create mode 100644 drivers/clk/sunxi/clk_a23.c
 create mode 100644 drivers/clk/sunxi/clk_a31.c
 create mode 100644 drivers/clk/sunxi/clk_a64.c
 create mode 100644 drivers/clk/sunxi/clk_a83t.c
 create mode 100644 drivers/clk/sunxi/clk_h3.c
 create mode 100644 drivers/clk/sunxi/clk_h6.c
 create mode 100644 drivers/clk/sunxi/clk_r40.c
 create mode 100644 drivers/clk/sunxi/clk_sunxi.c
 create mode 100644 drivers/clk/sunxi/clk_v3s.c
 create mode 100644 drivers/reset/reset-sunxi.c
 create mode 100644 drivers/spi/sun6i_spi.c
 delete mode 100644 drivers/usb/host/ehci-sunxi.c
 delete mode 100644 drivers/usb/host/ohci-sunxi.c

-- 
2.18.0.321.gffc6fa0e3

^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2018-08-31 10:14 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-19 13:56 [U-Boot] [PATCH v3 00/58] clk: Add Allwinner CLK, RESET support Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 01/58] clk: Add Allwinner A64 CLK driver Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 02/58] reset: Add default request ops Jagan Teki
2018-08-20 11:22   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 03/58] reset: Add Allwinner RESET driver Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 04/58] clk: sunxi: Add Allwinner H3/H5 CLK driver Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 05/58] clk: sunxi: Add Allwinner A10/A20 " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 06/58] clk: sunxi: Add Allwinner A10s/A13 " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 07/58] clk: sunxi: Add Allwinner A31 " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 08/58] clk: sunxi: Add Allwinner A23 " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 09/58] clk: sunxi: a23: Add CLK support for A33 Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 10/58] clk: sunxi: Add Allwinner A83T CLK driver Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 11/58] clk: sunxi: Add Allwinner R40 " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 12/58] clk: sunxi: Add Allwinner V3S " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 13/58] sunxi: Enable CLK Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 14/58] musb-new: sunxi: Use CLK and RESET support Jagan Teki
2018-08-20 11:26   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 15/58] phy: sun4i-usb: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 16/58] sunxi: usb: Switch to Generic host controllers Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 17/58] usb: host: Drop [e-o]hci-sunxi drivers Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 18/58] clk: sunxi: Implement AHB bus MMC clocks Jagan Teki
2018-08-20 11:28   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 19/58] clk: sunxi: Implement direct " Jagan Teki
2018-08-20 11:33   ` Maxime Ripard
2018-08-27 10:04     ` Jagan Teki
2018-08-28  9:51       ` Maxime Ripard
2018-08-28 16:46         ` Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 20/58] clk: sunxi: Implement AHB bus MMC resets Jagan Teki
2018-08-20 11:28   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 21/58] reset: Add get reset by name optionally Jagan Teki
2018-08-20 11:34   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 22/58] reset: Add reset valid Jagan Teki
2018-08-23 10:44   ` Simon Glass
2018-08-19 13:56 ` [U-Boot] [PATCH v3 23/58] clk: sunxi: Add Allwinner H6 CLK, RESET driver Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 24/58] arm64: allwinner: dts: h6: fix Pine H64 MMC bus width Jagan Teki
2018-08-20 11:35   ` Maxime Ripard
2018-08-20 11:39     ` Jagan Teki
2018-08-20 14:16       ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 25/58] sunxi: h6: Enable CLK, RESET Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 26/58] dm: mmc: sunxi: Add CLK and RESET support Jagan Teki
2018-08-20 11:36   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 27/58] fastboot: sunxi: Update fastboot mmc default device Jagan Teki
2018-08-20 11:44   ` Maxime Ripard
2018-08-21 16:57     ` Jagan Teki
2018-08-22 16:43       ` Maxime Ripard
2018-08-27  9:20         ` Jagan Teki
2018-08-31 10:14           ` Maxime Ripard
2018-08-22 18:56       ` Olliver Schinagl
2018-08-19 13:56 ` [U-Boot] [PATCH v3 28/58] env: fat: Add func to get fat device, partition Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 29/58] sunxi: Get fat device wrt boot device, 'auto' partition Jagan Teki
2018-08-20 11:45   ` Maxime Ripard
2018-08-19 13:56 ` [U-Boot] [PATCH v3 30/58] env: sunxi: Don't update fat dev, part wrt MMC_SUNXI_SLOT_EXTRA Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 31/58] sunxi: Add mmc 2, 3 bootenv devices Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 32/58] sunxi: A20: Enable DM_MMC Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 33/58] mmc: sunxi: Add mmc, emmc H5/A64 compatible Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 34/58] sunxi: H3_H5: Enable DM_MMC Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 35/58] sunxi: A64: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 36/58] mmc: sunxi: Add A83T emmc compatible Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 37/58] sunxi: A83T: Enable DM_MMC Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 38/58] sunxi: V40: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 39/58] sunxi: H6: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 40/58] sunxi: A13/A31: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 41/58] sunxi: A23/A33/V3S: " Jagan Teki
2018-08-19 13:56 ` [U-Boot] [PATCH v3 42/58] clk: sunxi: Implement SPI clocks Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 43/58] clk: sunxi: Implement SPI resets Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 44/58] spi: sun4i: Add CLK support Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 45/58] spi: Add Allwinner A31 SPI driver Jagan Teki
2018-08-20 11:18   ` Maxime Ripard
2018-08-20 11:42     ` Jagan Teki
2018-08-20 14:19       ` Maxime Ripard
2018-08-20 15:25         ` Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 46/58] clk: sunxi: Implement UART clocks Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 47/58] clk: sunxi: Implement UART resets Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 48/58] clk: sunxi: Implement Ethernet clocks Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 49/58] clk: sunxi: Implement Ethernet resets Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 50/58] net: sunxi_emac: Add CLK support Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 51/58] net: sun8i_emac: Retrieve GMAC clock via 'syscon' phandle Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 52/58] net: sun8i_emac: Add CLK and RESET support Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 53/58] clk: Get the CLK by index without device Jagan Teki
2018-08-23 10:45   ` Simon Glass
2018-08-19 13:57 ` [U-Boot] [PATCH v3 54/58] clk: Use clk_get_by_index_tail() Jagan Teki
2018-08-23 10:45   ` Simon Glass
2018-08-19 13:57 ` [U-Boot] [PATCH v3 55/58] reset: Get the RESET by index without device Jagan Teki
2018-08-23 10:45   ` Simon Glass
2018-08-19 13:57 ` [U-Boot] [PATCH v3 56/58] clk: sunxi: h3: Implement EPHY CLK and RESET Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 57/58] net: sun8i_emac: Add EPHY CLK and RESET support Jagan Teki
2018-08-19 13:57 ` [U-Boot] [PATCH v3 58/58] board: sunxi: gmac: Remove Ethernet clock and reset Jagan Teki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.