MPC83xx RAM controller

This driver supplies support for the embedded RAM controller on MCP83xx-series
SoCs.

For static configuration mode, each controller node should have child nodes
describing the actual RAM modules installed.

Controller node
===============

Required properties:
- compatible:                Must be "fsl,mpc83xx-mem-controller"
- reg:                       The address of the RAM controller's register space
- #address-cells:            Must be 2
- #size-cells:               Must be 1
- driver_software_override:  DDR driver software override is enabled (1) or
                             disabled (0)
- p_impedance_override:      DDR driver software p-impedance override; possible
                             values:
                              * DSO_P_IMPEDANCE_HIGHEST_Z
                              * DSO_P_IMPEDANCE_MUCH_HIGHER_Z
                              * DSO_P_IMPEDANCE_HIGHER_Z
                              * DSO_P_IMPEDANCE_NOMINAL
                              * DSO_P_IMPEDANCE_LOWER_Z
- n_impedance_override:      DDR driver software n-impedance override; possible
                             values:
                              * DSO_N_IMPEDANCE_HIGHEST_Z
                              * DSO_N_IMPEDANCE_MUCH_HIGHER_Z
                              * DSO_N_IMPEDANCE_HIGHER_Z
                              * DSO_N_IMPEDANCE_NOMINAL
                              * DSO_N_IMPEDANCE_LOWER_Z
- odt_termination_value:     ODT termination value for I/Os; possible values:
                              * ODT_TERMINATION_75_OHM
                              * ODT_TERMINATION_150_OHM
- ddr_type:                  Selects voltage level for DDR pads; possible
                             values:
                              * DDR_TYPE_DDR2_1_8_VOLT
                              * DDR_TYPE_DDR1_2_5_VOLT
- mvref_sel:                 Determine where MVREF_SEL signal is generated;
                             possible values:
                              * MVREF_SEL_EXTERNAL
                              * MVREF_SEL_INTERNAL_GVDD
- m_odr:                     Disable memory transaction reordering; possible
                             values:
                              * M_ODR_ENABLE
                              * M_ODR_DISABLE
- clock_adjust:              Clock adjust; possible values:
                              * CLOCK_ADJUST_025
                              * CLOCK_ADJUST_05
                              * CLOCK_ADJUST_075
                              * CLOCK_ADJUST_1
- ext_refresh_rec:           Extended refresh recovery time; possible values:
                              0, 16, 32, 48, 64, 80, 96, 112
- read_to_write:             Read-to-write turnaround; possible values:
                              0, 1, 2, 3
- write_to_read:             Write-to-read turnaround; possible values:
                              0, 1, 2, 3
- read_to_read:              Read-to-read turnaround; possible values:
                              0, 1, 2, 3
- write_to_write:            Write-to-write turnaround; possible values:
                              0, 1, 2, 3
- active_powerdown_exit:     Active powerdown exit timing; possible values:
                              1, 2, 3, 4, 5, 6, 7
- precharge_powerdown_exit:  Precharge powerdown exit timing; possible values:
                              1, 2, 3, 4, 5, 6, 7
- odt_powerdown_exit:        ODT powerdown exit timing; possible values:
                              0, 1, 2, 3, 4, 5, 6, 7, 8,
                              9, 10, 11, 12, 13, 14, 15
- mode_reg_set_cycle:        Mode register set cycle time; possible values:
                              1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- precharge_to_activate:     Precharge-to-acitvate interval; possible values:
                              1, 2, 3, 4, 5, 6, 7
- activate_to_precharge:     Activate to precharge interval; possible values:
                              4, 5, 6, 7, 8, 9, 10, 11, 12,
                              13, 14, 15, 16, 17, 18, 19
- activate_to_readwrite:     Activate to read/write interval for SDRAM;
                             possible values:
                              1, 2, 3, 4, 5, 6, 7
- mcas_latency:              MCAS latency from READ command; possible values:
                              * CASLAT_20
                              * CASLAT_25
                              * CASLAT_30
                              * CASLAT_35
                              * CASLAT_40
                              * CASLAT_45
                              * CASLAT_50
                              * CASLAT_55
                              * CASLAT_60
                              * CASLAT_65
                              * CASLAT_70
                              * CASLAT_75
                              * CASLAT_80
- refresh_recovery:          Refresh recovery time; possible values:
                              8, 9, 10, 11, 12, 13, 14, 15,
                              16, 17, 18, 19, 20, 21, 22, 23
- last_data_to_precharge:    Last data to precharge minimum interval; possible
                             values:
                              1, 2, 3, 4, 5, 6, 7
- activate_to_activate:      Activate-to-activate interval; possible values:
                              1, 2, 3, 4, 5, 6, 7
- last_write_data_to_read:   Last write data pair to read command issue
                             interval; possible values:
                              1, 2, 3, 4, 5, 6, 7
- additive_latency:          Additive latency; possible values:
                              0, 1, 2, 3, 4, 5
- mcas_to_preamble_override: MCAS-to-preamble-override; possible values:
                              * READ_LAT
                              * READ_LAT_PLUS_1_4
                              * READ_LAT_PLUS_1_2
                              * READ_LAT_PLUS_3_4
                              * READ_LAT_PLUS_1
                              * READ_LAT_PLUS_5_4
                              * READ_LAT_PLUS_3_2
                              * READ_LAT_PLUS_7_4
                              * READ_LAT_PLUS_2
                              * READ_LAT_PLUS_9_4
                              * READ_LAT_PLUS_5_2
                              * READ_LAT_PLUS_11_4
                              * READ_LAT_PLUS_3
                              * READ_LAT_PLUS_13_4
                              * READ_LAT_PLUS_7_2
                              * READ_LAT_PLUS_15_4
                              * READ_LAT_PLUS_4
                              * READ_LAT_PLUS_17_4
                              * READ_LAT_PLUS_9_2
                              * READ_LAT_PLUS_19_4
- write_latency:             Write latency; possible values:
                              1, 2, 3, 4, 5, 6, 7
- read_to_precharge:         Read to precharge; possible values:
                              1, 2, 3, 4
- write_cmd_to_write_data:   Write command to write data strobe timing
                             adjustment; possible values:
                              * CLOCK_DELAY_0
                              * CLOCK_DELAY_1_4
                              * CLOCK_DELAY_1_2
                              * CLOCK_DELAY_3_4
                              * CLOCK_DELAY_1
                              * CLOCK_DELAY_5_4
                              * CLOCK_DELAY_3_2
- minimum_cke_pulse_width:   Minimum CKE pulse width; possible values:
                              1, 2, 3, 4
- four_activates_window:     Window for four activates; possible values:
                              1, 2, 3, 4 8, 9, 10, 11, 12,
                              13, 14, 15, 16, 17, 18, 19
- self_refresh:              Self refresh (during sleep); possible values:
                              * SREN_DISABLE
                              * SREN_ENABLE
- ecc:                       Support for ECC; possible values:
                              * ECC_DISABLE
                              * ECC_ENABLE
- registered_dram:           Support for registered DRAM; possible values:
                              * RD_DISABLE
                              * RD_ENABLE
- sdram_type:                Type of SDRAM device to be used; possible values:
                              * TYPE_DDR1
                              * TYPE_DDR2
- dynamic_power_management:  Dynamic power management mode; possible values:
                              * DYN_PWR_DISABLE
                              * DYN_PWR_ENABLE
- databus_width:             DRAM data bus width; possible values
                              * DATA_BUS_WIDTH_16
                              * DATA_BUS_WIDTH_32
- nc_auto_precharge:         Non-concurrent auto-precharge; possible values:
                              * NCAP_DISABLE
                              * NCAP_ENABLE
- timing_2t:                 2T timing; possible values:
                              * TIMING_1T
                              * TIMING_2T
- bank_interleaving_ctrl:    Bank (chip select) interleaving control; possible
                             values:
                              * INTERLEAVE_NONE
                              * INTERLEAVE_1_AND_2
- precharge_bit_8:           Precharge bin 8; possible values
                              * PRECHARGE_MA_10
                              * PRECHARGE_MA_8
- half_strength:             Global half-strength override; possible values:
                              * STRENGTH_FULL
                              * STRENGTH_HALF
- bypass_initialization:     Bypass initialization; possible values:
                              * INITIALIZATION_DONT_BYPASS
                              * INITIALIZATION_BYPASS
- force_self_refresh:         Force self refresh; possible values:
                               * MODE_NORMAL
                               * MODE_REFRESH
- dll_reset:                  DLL reset; possible values:
                               * DLL_RESET_ENABLE
                               * DLL_RESET_DISABLE
- dqs_config:                 DQS configuration; possible values:
                               * DQS_TRUE
- odt_config:                 ODT configuration; possible values:
                               * ODT_ASSERT_NEVER
                               * ODT_ASSERT_WRITES
                               * ODT_ASSERT_READS
                               * ODT_ASSERT_ALWAYS
- posted_refreshes:           Number of posted refreshes
                               1, 2, 3, 4, 5, 6, 7, 8
- sdmode:                     Initial value loaded into the DDR SDRAM mode
                              register
- esdmode:                    Initial value loaded into the DDR SDRAM extended
                              mode register
- esdmode2:                   Initial value loaded into the DDR SDRAM extended
                              mode 2 register
- esdmode3:                   Initial value loaded into the DDR SDRAM extended
                              mode 3 register
- refresh_interval:           Refresh interval; possible values:
                               0 - 65535
- precharge_interval:         Precharge interval; possible values:
                               0 - 16383

RAM module node:
================

Required properties:
- reg:            A triple <cs addr size>, which consists of:
                   * cs - the chipselect used to drive this RAM module
                   * addr - the address where this RAM module's memory is map
                     to in the global memory space
                   * size - the size of the RAM module's memory in bytes
- auto_precharge: Chip select auto-precharge; possible values:
                   * AUTO_PRECHARGE_ENABLE
                   * AUTO_PRECHARGE_DISABLE
- odt_rd_cfg:     ODT for reads configuration; possible values:
                   * ODT_RD_NEVER
                   * ODT_RD_ONLY_CURRENT
                   * ODT_RD_ONLY_OTHER_CS
                   * ODT_RD_ONLY_OTHER_DIMM
                   * ODT_RD_ALL
- odt_wr_cfg:     ODT for writes configuration; possible values:
                   * ODT_WR_NEVER
                   * ODT_WR_ONLY_CURRENT
                   * ODT_WR_ONLY_OTHER_CS
                   * ODT_WR_ONLY_OTHER_DIMM
                   * ODT_WR_ALL
- bank_bits:      Number of bank bits for SDRAM on chip select; possible
                  values:
                   2, 3
- row_bits:       Number of row bits for SDRAM on chip select; possible values:
                   12, 13, 14
- col_bits:       Number of column bits for SDRAM on chip select; possible
                  values:
                   8, 9, 10, 11

Example:

memory@2000 {
	#address-cells = <2>;
	#size-cells = <1>;
	compatible = "fsl,mpc83xx-mem-controller";
	reg = <0x2000 0x1000>;
	device_type = "memory";
	u-boot,dm-pre-reloc;

	driver_software_override = <DSO_ENABLE>;
	p_impedance_override = <DSO_P_IMPEDANCE_NOMINAL>;
	n_impedance_override = <DSO_N_IMPEDANCE_NOMINAL>;
	odt_termination_value = <ODT_TERMINATION_150_OHM>;
	ddr_type = <DDR_TYPE_DDR2_1_8_VOLT>;

	clock_adjust = <CLOCK_ADJUST_05>;

	read_to_write = <0>;
	write_to_read = <0>;
	read_to_read = <0>;
	write_to_write = <0>;
	active_powerdown_exit = <2>;
	precharge_powerdown_exit = <6>;
	odt_powerdown_exit = <8>;
	mode_reg_set_cycle = <2>;

	precharge_to_activate = <2>;
	activate_to_precharge = <6>;
	activate_to_readwrite = <2>;
	mcas_latency = <CASLAT_40>;
	refresh_recovery = <17>;
	last_data_to_precharge = <2>;
	activate_to_activate = <2>;
	last_write_data_to_read = <2>;

	additive_latency = <0>;
	mcas_to_preamble_override = <READ_LAT_PLUS_1_2>;
	write_latency = <3>;
	read_to_precharge = <2>;
	write_cmd_to_write_data = <CLOCK_DELAY_1_2>;
	minimum_cke_pulse_width = <3>;
	four_activates_window = <5>;

	self_refresh = <SREN_ENABLE>;
	sdram_type = <TYPE_DDR2>;
	databus_width = <DATA_BUS_WIDTH_32>;

	force_self_refresh = <MODE_NORMAL>;
	dll_reset = <DLL_RESET_ENABLE>;
	dqs_config = <DQS_TRUE>;
	odt_config = <ODT_ASSERT_READS>;
	posted_refreshes = <1>;

	refresh_interval = <2084>;
	precharge_interval = <256>;

	sdmode = <0x0242>;
	esdmode = <0x0440>;

	ram@0 {
		reg = <0x0 0x0 0x8000000>;
		compatible = "nanya,nt5tu64m16hg";

		odt_rd_cfg = <ODT_RD_NEVER>;
		odt_wr_cfg = <ODT_WR_ONLY_CURRENT>;
		bank_bits = <3>;
		row_bits = <13>;
		col_bits = <10>;
	};
};
